@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--paper:#f5f3ee;--ink:#252821;--muted:#74766d;--line:#deddd4;--green:#59634e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:var(--paper);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;line-height:1.2}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid #a4a698;border-radius:50%;font:italic 20px var(--serif);letter-spacing:0;color:var(--green)}.brand small{display:block;margin-top:4px;color:#85867e;font-size:8px;font-weight:500;letter-spacing:.23em}.main-nav{display:flex;align-items:center;gap:38px;font-size:12px}.main-nav>a{color:#6e7068;transition:color .2s}.main-nav>a:hover,.main-nav>a.active{color:var(--ink)}.main-nav .nav-contact{padding:10px 17px;border:1px solid #c6c7bd;color:var(--ink)}.nav-contact span,.button span{padding-left:10px}.menu-toggle{display:none}.hero{height:min(690px,calc(100vh - 88px));min-height:540px;position:relative;color:#fff;overflow:hidden;background:#596359}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{object-position:center 57%;animation:slowzoom 18s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(15,23,20,.61),rgba(15,23,20,.18) 70%),linear-gradient(0deg,rgba(16,21,18,.32),transparent 28%)}@keyframes slowzoom{from{transform:scale(1.06)}to{transform:scale(1)}}.hero-content{position:absolute;left:12vw;top:50%;transform:translateY(-50%);max-width:580px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--green);margin:0 0 20px}.eyebrow.light{color:#e2e5db}.hero h1,.page-intro h1,.about-copy h1,.contact-intro h1{font:500 clamp(52px,7.2vw,92px)/1.08 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.page-intro h1 em,.about-copy h1 em,.contact-intro h1 em{font-weight:500}.hero-copy{max-width:390px;color:#e0e3dd;font-size:14px;margin:23px 0 29px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;font:600 11px var(--sans);letter-spacing:.04em;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:#353a31;color:#fff}.hero-caption{position:absolute;bottom:27px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#e1e3dd}.hero-index{position:absolute;right:7vw;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.14em}.hero-index i{display:inline-block;height:54px;width:1px;background:#fff;margin:13px auto}.section-pad{padding:115px 12vw}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:end}.intro h2,.section-heading h2,.cta-strip h2,.about-outro h2{font:500 clamp(32px,4vw,49px)/1.2 var(--serif);letter-spacing:-.025em;margin:0}.intro h2 em,.about-outro h2 em{color:#737968}.intro-text p{font-size:14px;line-height:1.9;color:#696b63;margin:0 0 22px}.text-link{font-size:11px;font-weight:600;border-bottom:1px solid #a8aa9e;padding-bottom:8px}.text-link span{padding-left:10px}.featured{padding:15px 7vw 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:0 5vw 28px}.section-heading h2{font-size:34px}.feature-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.feature-card{height:360px;position:relative;overflow:hidden;background:#c9c8bc}.feature-tall{height:470px;grid-row:span 2}.feature-card img,.gallery-item img{transition:transform .7s}.feature-card:hover img,.gallery-item:hover img{transform:scale(1.035)}.feature-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(13,17,14,.62))}.feature-label{position:absolute;z-index:1;bottom:22px;left:24px;color:white}.feature-label small,.gallery-item figcaption span{display:block;font-size:8px;letter-spacing:.16em;margin-bottom:4px}.feature-label b{font:500 22px var(--serif)}.quote-band{text-align:center;padding:85px 20px 88px;background:#e9e8df}.quote-mark{font:62px/.8 var(--serif);color:#9aa08d}.quote-band blockquote{font:500 clamp(28px,4vw,43px)/1.35 var(--serif);margin:17px 0}.quote-band blockquote em{color:#737968}.quote-credit{font-size:8px;letter-spacing:.18em;color:#85867e}.cta-strip{padding:74px 12vw;display:flex;align-items:center;justify-content:space-between}.cta-strip .eyebrow{margin-bottom:10px}.cta-strip h2{font-size:33px}.site-footer{min-height:112px;padding:25px 7vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#73746d}.site-footer>div{display:flex;gap:24px;align-items:center}.page-main{padding:0 10vw}.page-intro{padding:96px 2vw 48px}.page-intro h1,.contact-intro h1{font-size:clamp(58px,8vw,94px)}.page-intro h1 em,.contact-intro h1 em,.about-copy h1 em{color:#747c68}.page-intro>p:last-child,.private-page .page-intro>p:not(.eyebrow),.private-gallery-heading-content>p:not(.eyebrow),.contact-intro>p:last-child{max-width:430px;color:#72736c;margin:19px 0 0;font:400 15px/1.7 var(--sans)}.filter-bar{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:12px 2vw 17px}.filter-button{font:500 11px var(--sans);background:none;border:0;color:#797b73;cursor:pointer;padding:5px 0}.filter-button.active{color:#30342e;border-bottom:1px solid var(--green)}.filter-button span{font-size:8px;color:#92938c;margin-left:4px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;gap:15px;padding:26px 0 55px}.gallery-item{position:relative;overflow:hidden;background:#deddd4;margin:0}.gallery-item img{position:absolute;inset:0}.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(17,20,16,.65))}.gallery-item figcaption{position:absolute;z-index:1;left:19px;bottom:17px;color:white}.gallery-item figcaption b{font:500 21px var(--serif)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-item.is-hidden{display:none}.gallery-note{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 65px;color:#8a8b83;font-size:8px;letter-spacing:.14em}.about-page{padding-top:80px}.about-hero{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:center}.about-copy{padding:25px 0}.about-copy h1{font-size:clamp(54px,6vw,74px);margin-bottom:22px}.about-copy .lead{font:500 20px/1.55 var(--serif);color:#737968;max-width:440px}.about-copy>p:not(.eyebrow):not(.lead){font-size:13px;line-height:1.95;color:#6e7068;max-width:480px;margin:19px 0}.about-copy .text-link{display:inline-block;margin-top:13px}.about-portrait{height:580px;position:relative;background:#dddbd1}.image-note{position:absolute;bottom:0;right:0;padding:11px 14px;background:var(--paper);font-size:8px;letter-spacing:.14em}.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8%;padding:103px 3vw 93px;margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.value-number{font:italic 18px var(--serif);color:#858b7a}.values-row h3{font:500 21px var(--serif);margin:10px 0}.values-row p{color:#797a72;font-size:12px;line-height:1.85}.about-outro{text-align:center;padding:90px 0 105px}.about-outro h2{margin-bottom:24px}.contact-page{padding-top:86px}.contact-intro{padding:10px 2vw 56px}.contact-intro h1{font-size:clamp(58px,8vw,91px)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding:50px 6vw 74px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c5c8bc;border-radius:50%;color:var(--green);font-size:18px;margin-bottom:26px}.contact-aside h2{font:500 34px/1.25 var(--serif);margin:0 0 22px}.email-link{font-size:12px;font-weight:600;border-bottom:1px solid #aaac9e;padding-bottom:9px}.email-link span{padding-left:8px}.small-note{color:#83847c;font-size:10px;margin-top:18px}.contact-form{display:flex;flex-direction:column}.contact-form label{font-size:10px;font-weight:600;margin:0 0 7px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #d4d4ca;background:transparent;border-radius:0;padding:10px 0 13px;margin:0 0 24px;font:12px var(--sans);outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--green)}.contact-form ::placeholder{color:#a4a59d}.contact-form .button{align-self:flex-start}.form-note{font-size:9px;color:#898a82;margin-top:12px}.legal-details{max-width:760px;margin:58px auto 80px}.legal-details details{border-top:1px solid var(--line);padding:18px 0}.legal-details details:last-child{border-bottom:1px solid var(--line)}.legal-details summary{font:500 19px var(--serif);cursor:pointer}.legal-details details div{font-size:11px;color:#71736b;line-height:1.8;padding:10px 0}.legal-details details p{margin:8px 0}.legal-details em{color:#917558}
@media(max-width:800px){.site-header{height:76px;padding:0 6vw}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.menu-toggle span{width:23px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px 7vw 27px;align-items:stretch;gap:15px;flex-direction:column;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav .nav-contact{align-self:flex-start}.hero{height:calc(88vh - 76px);min-height:520px}.hero-content{left:8vw;right:8vw}.hero h1{font-size:clamp(53px,11vw,78px)}.hero-caption{left:8vw;right:8vw}.hero-index{right:5vw}.section-pad{padding:80px 8vw}.intro{grid-template-columns:1fr;gap:25px}.intro-text{max-width:520px}.featured{padding:0 6vw 75px}.section-heading{margin:0 2vw 23px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card,.feature-tall{height:330px;grid-row:auto}.feature-card:first-child{grid-column:span 2;height:400px}.cta-strip{padding:60px 8vw}.site-footer{padding:28px 6vw;flex-wrap:wrap;gap:18px}.site-footer>span{display:none}.page-main{padding:0 6vw}.page-intro{padding:76px 2vw 38px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px}.gallery-tall{grid-row:span 1}.about-page{padding-top:50px}.about-hero{grid-template-columns:1fr 1fr;gap:6%}.about-portrait{height:500px}.about-copy h1{font-size:54px}.values-row{gap:5%;padding:75px 0}.contact-layout{gap:7%;padding:40px 2vw 60px}}
@media(max-width:540px){body{font-size:14px}.hero{min-height:570px}.hero h1{font-size:54px}.hero-copy{max-width:310px}.hero-index{display:none}.intro h2{font-size:35px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:14px}.section-heading h2{font-size:30px}.feature-grid{gap:9px}.feature-card,.feature-tall{height:240px}.feature-card:first-child{height:310px}.feature-label{left:14px;bottom:14px}.feature-label b{font-size:18px}.quote-band{padding:67px 16px}.cta-strip{align-items:flex-start;gap:20px;flex-direction:column}.cta-strip h2{font-size:30px}.site-footer{align-items:flex-start}.site-footer>div{gap:13px;flex-wrap:wrap;font-size:9px}.brand{font-size:10px}.brand-mark{width:32px;height:32px}.page-intro h1,.contact-intro h1{font-size:58px}.filter-bar{gap:17px;overflow-x:auto}.filter-button{white-space:nowrap}.gallery-grid{grid-auto-rows:190px;gap:9px;padding-top:17px}.gallery-item figcaption{left:11px;bottom:9px}.gallery-item figcaption b{font-size:16px}.gallery-item figcaption span{font-size:7px}.gallery-note{font-size:7px;gap:12px}.about-hero{grid-template-columns:1fr;gap:30px}.about-copy h1{font-size:56px}.about-portrait{height:380px}.values-row{grid-template-columns:1fr;gap:24px;padding:56px 3vw}.values-row p{max-width:380px;margin:4px 0}.about-outro{padding:72px 0}.contact-page{padding-top:60px}.contact-layout{grid-template-columns:1fr;gap:44px;padding:38px 2vw 52px}.contact-intro{padding-bottom:42px}.contact-aside h2{font-size:30px}}

/* Hamburger navigation is available at every screen size. */
.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:1px solid #c6c7bd;padding:12px;cursor:pointer}
.menu-toggle span{width:19px;height:1px;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-toggle::after{content:"";display:block;width:19px;height:1px;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-toggle span:nth-child(n+3){display:none}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}
.main-nav{display:flex;position:absolute;top:72px;right:7vw;left:auto;min-width:210px;padding:20px 22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 36px #2222;align-items:stretch;gap:15px;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .18s,transform .18s,visibility .18s;z-index:10}
.main-nav.open{display:flex;opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .nav-contact{padding:8px 0;border:0;align-self:flex-start}
@media(max-width:800px){.main-nav{display:flex;top:66px;right:6vw;left:auto;padding:20px 22px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}}

/* JC-PhotoART homepage: deep graphite canvas and a quieter quote feature. */
.home-page{--paper:#191b1a;--ink:#f0efe9;--muted:#b7b8b0;--line:#383b37;--green:#b0b99f;background:var(--paper);color:var(--ink)}
.home-page .site-header,.home-page .intro,.home-page .featured,.home-page .cta-strip,.home-page .site-footer{background:#191b1a;color:var(--ink)}
.home-page .site-header{border-bottom:1px solid #2c2f2c}
.home-page .brand-mark{border-color:#686d62;color:#d4d8ca}
.home-page .brand small{color:#a4a69e}
.home-page .menu-toggle{border-color:#565a53}
.home-page .menu-toggle span{background:#f0efe9}
.home-page .main-nav{background:#232623;border-color:#42463f}
.home-page .main-nav>a,.home-page .main-nav .nav-contact{color:#d8d9d2}
.home-page .main-nav>a.active,.home-page .main-nav>a:hover{color:#fff}
.home-page .main-nav .nav-contact{border-color:#696d63}
.home-page .intro-text p{color:#b9bbb3}
.home-page .intro h2 em,.home-page .about-outro h2 em{color:#aeb59f}
.home-page .text-link{border-color:#73796a}
.home-page .featured{padding-top:60px}
.home-page .section-heading{margin-bottom:28px}
.home-page .feature-card{background:#292c29}
.home-page .quote-band.daily-quote{background:#292f29;color:#f2f0e9;padding:80px 20px 86px}
.home-page .daily-quote .eyebrow{color:#bec7b1;margin:20px 0 8px}
.home-page .daily-quote .quote-mark{color:#adb79c}
.home-page .daily-quote blockquote{max-width:790px;margin:13px auto 20px}
.home-page .daily-quote .quote-credit{color:#c1c3b9}
.home-page .cta-strip .eyebrow{color:#b0b99f}
.home-page .button-dark{background:#e9e9df;color:#20231f}
.home-page .site-footer{border-top-color:#383b37;color:#aaaca5}
.home-page .site-footer .brand{color:#eee}
@media(max-width:800px){.home-page .main-nav{background:#232623}}

/* Keep the three homepage topic cards aligned at every breakpoint. */
.home-page .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.home-page .feature-card,.home-page .feature-tall{height:360px;grid-row:auto;grid-column:auto;min-width:0}
.home-page .feature-card img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:800px){.home-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .feature-card,.home-page .feature-tall{height:300px}.home-page .feature-card:first-child{grid-column:auto;height:300px}}
@media(max-width:540px){.home-page .feature-grid{grid-template-columns:1fr 1fr}.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:240px}}

/* Show complete original photographs inside matching topic frames. */
.home-page .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.home-page .feature-card,.home-page .feature-tall{height:auto;aspect-ratio:4/3;grid-row:auto;grid-column:auto;min-width:0;background:#111412}
.home-page .feature-card img{width:100%;height:100%;object-fit:contain;object-position:center;background:#111412}
@media(max-width:800px){.home-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:auto;aspect-ratio:4/3;grid-column:auto}}
@media(max-width:540px){.home-page .feature-grid{grid-template-columns:1fr}.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:auto;aspect-ratio:4/3}}

/* Four equally sized square topic tiles, including an intentional empty slot. */
.home-page .feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:auto;aspect-ratio:1/1;grid-row:auto;grid-column:auto}
.home-page .feature-placeholder{display:block;border:1px dashed #72796a;background:radial-gradient(circle at center,#30372f 0,#202521 70%)}
.home-page .feature-placeholder:before{content:'+';position:absolute;z-index:1;left:50%;top:43%;transform:translate(-50%,-50%);font:400 60px/1 var(--serif);color:#aeb99e}
.home-page .feature-placeholder:after{display:none}
.home-page .feature-placeholder .feature-label{left:16px;right:12px;bottom:16px}
@media(max-width:800px){.home-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:auto;aspect-ratio:1/1}}
@media(max-width:540px){.home-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .feature-card,.home-page .feature-tall,.home-page .feature-card:first-child{height:auto;aspect-ratio:1/1}}

.brand-logo{display:block;width:46px;height:46px;flex:0 0 auto;object-fit:contain}

/* Slightly larger header typography for easier reading. */
.site-header .brand{font-size:14px}
.site-header .brand small{font-size:10px}
.site-header .main-nav{font-size:14px}

/* Match the interior pages to the graphite JC-PhotoART homepage. */
.content-page{--paper:#191b1a;--ink:#f0efe9;--muted:#b7b8b0;--line:#383b37;--green:#b0b99f;background:var(--paper);color:var(--ink)}
.content-page .site-header,.content-page .page-main,.content-page .site-footer{background:#191b1a;color:var(--ink)}
.content-page .site-header{border-bottom:1px solid #2c2f2c}
.content-page .brand-mark{border-color:#686d62;color:#d4d8ca}
.content-page .brand small{color:#a4a69e}
.content-page .menu-toggle{border-color:#565a53}
.content-page .menu-toggle span{background:#f0efe9}
.content-page .main-nav{background:#232623;border-color:#42463f}
.content-page .main-nav>a,.content-page .main-nav .nav-contact{color:#d8d9d2}
.content-page .main-nav>a.active,.content-page .main-nav>a:hover{color:#fff}
.content-page .main-nav .nav-contact{border-color:#696d63}
.content-page .page-intro h1 em,.content-page .contact-intro h1 em,.content-page .about-copy h1 em{color:#b0b99f}
.content-page .page-intro>p:last-child,.content-page .private-page .page-intro>p:not(.eyebrow),.content-page .private-gallery-heading-content>p:not(.eyebrow),.content-page .contact-intro>p:last-child{color:#b9bbb3}
.content-page .filter-bar,.content-page .contact-layout,.content-page .values-row,.content-page .legal-details details{border-color:#383b37}
.content-page .filter-button{color:#b7b8b0}
.content-page .filter-button.active{color:#fff;border-color:#b0b99f}
.content-page .gallery-item{background:#242724}
.content-page .gallery-note{border-color:#383b37;color:#aaaca5}
.content-page .about-copy .lead{color:#b0b99f}
.content-page .about-copy>p:not(.eyebrow):not(.lead),.content-page .values-row p{color:#b9bbb3}
.content-page .value-number{color:#b0b99f}
.content-page .image-note{background:#191b1a;color:#f0efe9}
.content-page .about-outro h2 em{color:#b0b99f}
.content-page .contact-aside h2{color:#f0efe9}
.content-page .contact-icon{border-color:#62685b;color:#b0b99f}
.content-page .email-link{border-color:#73796a}
.content-page .small-note,.content-page .form-note{color:#aaaca5}
.content-page .contact-form input,.content-page .contact-form textarea{border-color:#454942;color:#f0efe9;background:transparent}
.content-page .contact-form input:focus,.content-page .contact-form textarea:focus{border-color:#b0b99f}
.content-page .contact-form ::placeholder{color:#969990}
.content-page .legal-details details div{color:#b9bbb3}
.content-page .legal-details summary{color:#f0efe9}
.content-page .legal-details em{color:#d1ad83}
.content-page .button-dark{background:#e9e9df;color:#20231f}
.content-page .site-footer{border-color:#383b37;color:#aaaca5}
.content-page .site-footer .brand{color:#eee}
@media(max-width:800px){.content-page .main-nav{background:#232623}}

/* Four themed gallery pages and their overview. */
.gallery-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:12px 0 28px}
.gallery-overview-card{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#111412}
.gallery-overview-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111412;transition:transform .6s}
.gallery-overview-card:hover img{transform:scale(1.035)}
.gallery-overview-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,12,10,.82))}
.overview-label{position:absolute;z-index:1;left:17px;right:14px;bottom:15px;color:#fff}
.overview-label small{display:block;font-size:8px;letter-spacing:.15em;margin-bottom:4px}
.overview-label b{font:500 20px var(--serif)}
.overview-placeholder{border:1px dashed #72796a;background:radial-gradient(circle at center,#30372f 0,#202521 70%)}
.overview-placeholder:after{display:none}
.overview-plus{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);font:400 60px/1 var(--serif);color:#aeb99e}
.gallery-page-note{max-width:760px;margin:20px auto 76px;padding:20px 0;border-top:1px solid #383b37;color:#aaaca5;font-size:12px;line-height:1.8}
.gallery-page-note code{color:#d4d8ca}
.gallery-detail-page{padding-top:32px}
.gallery-back{display:inline-block;color:#c0c2b9;font-size:11px;border-bottom:1px solid #64695e;padding-bottom:6px}
.gallery-detail-intro{padding-top:55px}
.gallery-detail-figure{max-width:1040px;margin:0 auto 32px}
.gallery-detail-figure img{display:block;width:100%;height:min(70vh,680px);object-fit:contain;background:#111412}
.gallery-detail-figure figcaption{padding-top:10px;color:#aaaca5;font-size:10px;letter-spacing:.04em}
.empty-gallery-panel{min-height:330px;max-width:1040px;margin:0 auto 28px;border:1px dashed #62685b;background:radial-gradient(circle at center,#30372f 0,#202521 70%);display:grid;place-content:center;text-align:center;color:#b0b99f}
.empty-gallery-panel span{font:400 62px/1 var(--serif)}
.empty-gallery-panel p{font:500 20px var(--serif);color:#e5e5dc}
@media(max-width:900px){.gallery-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.gallery-overview-grid{gap:10px}.overview-label{left:12px;bottom:11px}.overview-label b{font-size:16px}.gallery-detail-intro{padding-top:42px}.gallery-detail-figure img{height:55vh}.empty-gallery-panel{min-height:250px}}

.gallery-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1100px;margin:0 auto 32px}
.gallery-photo-grid figure{margin:0;background:#111412;overflow:hidden}
.gallery-photo-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#111412}
.gallery-photo-grid figcaption{padding:12px 14px;color:#c1c3b9;font-size:10px;letter-spacing:.07em}
@media(max-width:540px){.gallery-photo-grid{grid-template-columns:1fr;gap:14px}}

/* Slow crossfades for the homepage topic photographs. */
.tile-slideshow{position:absolute;inset:0;overflow:hidden;background:#111412}
.tile-slideshow .tile-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity 1.4s ease-in-out}
.tile-slideshow .tile-slide.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.tile-slideshow .tile-slide{transition:none}}

/* Editorial stagger and accessible image viewing for themed galleries. */
.gallery-photo-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;align-items:start;counter-reset:photo}
.gallery-photo-grid figure{position:relative;counter-increment:photo;grid-column:span 6;border:1px solid #383b37;transition:transform .35s,border-color .35s}
.gallery-photo-grid figure:nth-child(4n+1){grid-column:1/span 7}
.gallery-photo-grid figure:nth-child(4n+2){grid-column:8/span 5;margin-top:76px}
.gallery-photo-grid figure:nth-child(4n+3){grid-column:2/span 5;margin-top:-25px}
.gallery-photo-grid figure:nth-child(4n){grid-column:7/span 6;margin-top:52px}
.gallery-photo-grid figure:hover{transform:translateY(-4px);border-color:#73796a}
.gallery-photo-grid figure:before{content:"0" counter(photo);position:absolute;z-index:2;top:10px;left:10px;padding:5px 7px;background:#191b1a;color:#b0b99f;font:600 9px var(--sans);letter-spacing:.12em;pointer-events:none}
.gallery-photo-button{display:block;width:100%;padding:0;border:0;overflow:hidden;background:#111412;cursor:zoom-in}
.gallery-photo-grid .gallery-photo-button img{transition:transform .55s}
.gallery-photo-button:hover img{transform:scale(1.035)}
.gallery-photo-grid figcaption{padding:12px 14px;color:#c1c3b9;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.photo-lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:58px 82px 76px;background:rgba(9,11,10,.96);backdrop-filter:blur(8px)}
.photo-lightbox.is-open{display:flex}
.photo-lightbox[hidden]{display:none}
.photo-lightbox-image{max-width:min(88vw,1400px);max-height:80vh;object-fit:contain;box-shadow:0 18px 70px #0009}
.photo-lightbox-caption{position:absolute;left:80px;right:80px;bottom:26px;color:#e5e5dc;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.photo-lightbox-control{position:absolute;display:grid;place-items:center;width:46px;height:46px;border:1px solid #555a51;border-radius:50%;background:#202420;color:#f0efe9;font:24px/1 var(--sans);cursor:pointer;transition:background .2s,transform .2s}
.photo-lightbox-control:hover{background:#353a31;transform:scale(1.06)}
.photo-lightbox-close{top:24px;right:26px;font-size:27px}
.photo-lightbox-previous{left:24px;top:50%;transform:translateY(-50%)}
.photo-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}
.photo-lightbox-previous:hover,.photo-lightbox-next:hover{transform:translateY(-50%) scale(1.06)}
@media(max-width:800px){.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-photo-grid figure:nth-child(n){grid-column:span 1;margin-top:0}.gallery-photo-grid figure:nth-child(3n){transform:translateY(28px)}.gallery-photo-grid figure:nth-child(3n):hover{transform:translateY(24px)}.photo-lightbox{padding:58px 56px 74px}.photo-lightbox-image{max-width:90vw;max-height:75vh}.photo-lightbox-previous{left:8px}.photo-lightbox-next{right:8px}}
@media(max-width:540px){.gallery-photo-grid{grid-template-columns:1fr;gap:15px}.gallery-photo-grid figure:nth-child(3n){transform:none}.gallery-photo-grid figure:nth-child(3n):hover{transform:translateY(-4px)}.photo-lightbox{padding:60px 42px 74px}.photo-lightbox-control{width:38px;height:38px}.photo-lightbox-close{top:14px;right:14px}.photo-lightbox-caption{left:10px;right:10px;bottom:20px;font-size:9px}}

body.lightbox-open{overflow:hidden}
.gallery-photo-grid[hidden],.empty-gallery-panel[hidden]{display:none}


.content-page .about-portrait{margin:0}


/* Password-protected gallery area and account administration. */
.private-page{padding-top:32px;padding-bottom:76px}
.private-panel,.private-admin{border:1px solid #383b37;background:#202321;padding:clamp(22px,4vw,42px);margin:0 auto 40px}
.private-panel{max-width:640px}
.private-panel h2,.private-admin h2,.private-gallery-heading h2{font:500 clamp(27px,3vw,38px)/1.2 var(--serif);margin:0 0 14px;color:#f0efe9}
.private-panel>p:not(.eyebrow),.private-admin>p:not(.eyebrow){color:#b9bbb3;font-size:13px;line-height:1.8}
.private-form{display:flex;flex-direction:column;gap:9px}
.private-form label,.private-form legend{color:#dedfd8;font-size:11px;font-weight:600}
.private-form input:not([type=checkbox]){width:100%;min-height:44px;padding:10px 12px;border:1px solid #454942;background:#191b1a;color:#f0efe9;font:14px var(--sans)}
.private-form input:focus{outline:2px solid #b0b99f;outline-offset:1px}
.private-form input[type=date]{color-scheme:dark}
.private-form .button{align-self:flex-start;margin-top:10px}
.private-message{max-width:800px;margin:0 auto 22px;padding:14px 18px;border:1px solid #8d665f;background:#312421;color:#f0d6cf;font-size:12px}
.private-message.is-success{border-color:#68775b;background:#242b21;color:#d9e3ce}
.private-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:0;padding:0;color:#b9bbb3;font-size:12px}
.private-toolbar p{margin:0}.private-toolbar strong{color:#f0efe9}.private-toolbar form{margin:0}
.private-logout,.private-delete{border:0;border-bottom:1px solid #73796a;padding:6px 0;background:none;color:#d5d7cf;font:600 11px var(--sans);cursor:pointer}
.private-admin{margin:35px 0 42px;scroll-margin-top:24px}
.private-create-form{margin-top:27px;padding:22px;border:1px solid #383b37;background:#1a1d1b}
.private-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.private-fields-two>div{display:flex;flex-direction:column;gap:8px}
.private-permissions{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0 3px;padding:13px 15px;border:1px solid #454942}
.private-permissions legend{padding:0 5px}
.private-permissions label{display:inline-flex;align-items:center;gap:7px;font-weight:400}
.private-permissions input{accent-color:#b0b99f}
.private-user-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.private-user-card{padding:20px;border:1px solid #383b37;background:#1a1d1b;min-width:0}
.private-user-card h3{font:500 21px var(--serif);margin:0 0 14px;color:#f0efe9}
.private-user-actions{margin-top:4px}
.private-delete-form{display:flex;justify-content:flex-end;margin-top:12px}
.private-delete{color:#d3a7a0;border-color:#8d665f}
.private-empty-users{color:#aaaca5;font-size:12px}
.private-gallery{scroll-margin-top:24px;margin:0 0 64px}
.private-gallery-heading{padding:0 0 19px;border-bottom:1px solid #383b37;margin-bottom:23px}
.private-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.private-gallery-heading-content{flex:1;min-width:0;padding:0 2vw}
.private-gallery-heading .eyebrow{margin-bottom:8px}
.private-intro-logout{display:flex;justify-content:flex-end;margin-top:8px;padding-bottom:10px;border-bottom:1px solid #383b37}
.private-intro-logout form{margin:0}
.private-intro-logout .private-logout{border-bottom:0;padding:0}

.private-gallery .gallery-photo-grid{margin-bottom:0}
.private-gallery .empty-gallery-panel{max-width:none;margin:0}
.gallery-private-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:900px;margin:0 auto 70px;padding:22px 0;border-top:1px solid #383b37;color:#aaaca5;font-size:11px}
@media(max-width:700px){.private-fields-two,.private-user-list{grid-template-columns:1fr}.private-create-form{padding:16px}.private-user-card{padding:16px}.gallery-private-entry{align-items:flex-start;flex-direction:column;gap:10px}.private-gallery-heading{display:block}}

/* Private photos styled as small prints scattered across a tabletop. */
.private-gallery .gallery-photo-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:clamp(10px,1.8vw,22px);
  max-width:none;
  min-height:210px;
  margin:0 0 32px;
  padding:clamp(22px,4vw,48px);
  border:1px solid #383b37;
  border-radius:3px;
  background-color:#191b1a;
  background-image:
    radial-gradient(ellipse at 50% 0%,#ffffff0b,transparent 70%),
    repeating-linear-gradient(92deg,#00000016 0 2px,transparent 2px 118px,#ffffff05 119px 121px,transparent 122px 238px),
    repeating-linear-gradient(0deg,#00000012 0 1px,transparent 1px 46px);
  box-shadow:inset 0 2px 22px #0009;
}
.private-gallery .gallery-photo-grid figure{
  position:relative;
  z-index:1;
  flex:0 1 clamp(125px,17vw,190px);
  grid-column:auto;
  margin:0;
  padding:8px 8px 25px;
  overflow:visible;
  border:0;
  background:#f1eee6;
  box-shadow:0 5px 12px #1b120c55,0 1px 2px #1b120c66;
  transition:transform .28s ease,box-shadow .28s ease;
}
.private-gallery .gallery-photo-grid figure:before{display:none}
.private-gallery .gallery-photo-grid figure:nth-child(7n+1){flex-basis:clamp(130px,15vw,170px);transform:rotate(-6deg) translate(3px,11px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n+2){flex-basis:clamp(145px,17vw,190px);margin-left:-13px;transform:rotate(4.5deg) translate(-2px,-12px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n+3){flex-basis:clamp(118px,13vw,150px);margin-top:9px;transform:rotate(-2deg) translate(-8px,4px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n+4){flex-basis:clamp(138px,16vw,180px);margin-right:-12px;transform:rotate(6deg) translate(4px,-5px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n+5){flex-basis:clamp(125px,14vw,158px);margin-left:8px;transform:rotate(-4.5deg) translate(0,-13px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n+6){flex-basis:clamp(135px,15.5vw,175px);margin-top:12px;transform:rotate(3deg) translate(-5px,6px)}
.private-gallery .gallery-photo-grid figure:nth-child(7n){flex-basis:clamp(120px,13.5vw,155px);margin-left:-10px;transform:rotate(-7deg) translate(5px,-4px)}
.private-gallery .gallery-photo-grid figure:hover,
.private-gallery .gallery-photo-grid figure:focus-within{
  z-index:3;
  transform:translateY(-8px) rotate(0) scale(1.06);
  box-shadow:0 14px 24px #1b120c77,0 2px 4px #1b120c66;
}
.private-gallery .gallery-photo-grid .gallery-photo-button{background:#dedbd2}
.private-gallery .gallery-photo-grid .gallery-photo-button img{
  aspect-ratio:4/3;
  background:#dedbd2;
  object-fit:contain;
}
.private-gallery .gallery-photo-grid .gallery-photo-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.private-gallery .gallery-photo-grid figcaption{
  overflow:hidden;
  padding:9px 2px 0;
  color:#41372c;
  font:500 10px/1.25 var(--serif);
  letter-spacing:.02em;
  text-overflow:ellipsis;
  text-transform:none;
  white-space:nowrap;
}
@media(max-width:540px){
  .private-gallery .gallery-photo-grid{gap:12px;padding:20px 12px}
  .private-gallery .gallery-photo-grid figure{flex-basis:clamp(112px,37vw,155px);padding:6px 6px 21px}
  .private-gallery .gallery-photo-grid figure:nth-child(n){margin:0}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+1){transform:rotate(-5deg) translateY(5px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+2){transform:rotate(4deg) translateY(-4px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+3){transform:rotate(-2deg) translateY(7px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+4){transform:rotate(5deg) translateY(-3px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+5){transform:rotate(-4deg) translateY(-5px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n+6){transform:rotate(2deg) translateY(4px)}
  .private-gallery .gallery-photo-grid figure:nth-child(7n){transform:rotate(-6deg) translateY(2px)}
  .private-gallery .gallery-photo-grid figure:hover,
  .private-gallery .gallery-photo-grid figure:focus-within{transform:translateY(-8px) rotate(0) scale(1.06)}
}
@media(prefers-reduced-motion:reduce){
  .private-gallery .gallery-photo-grid figure{transition:none}
}

/* Rounded photo tiles moving slowly in a seamless loop on public galleries. */
.public-gallery-belt{
  width:100%;
  margin:0 auto 58px;
  overflow:hidden;
  padding:clamp(22px,4vw,48px) clamp(12px,4vw,48px);
  border:1px solid #383b37;
  border-radius:3px;
  background-color:#191b1a;
  background-image:
    radial-gradient(ellipse at 50% 0%,#ffffff0b,transparent 70%),
    repeating-linear-gradient(92deg,#00000016 0 2px,transparent 2px 118px,#ffffff05 119px 121px,transparent 122px 238px),
    repeating-linear-gradient(0deg,#00000012 0 1px,transparent 1px 46px);
  box-shadow:inset 0 2px 22px #0009;
}
.public-gallery-belt[hidden]{display:none}
.public-gallery-track{
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  max-width:none;
  margin:0;
  grid-template-columns:none;
}
.public-gallery-belt.is-moving .public-gallery-track{
  animation:gallery-belt-scroll var(--gallery-belt-duration,60s) linear infinite;
}
.public-gallery-belt:hover .public-gallery-track,
.public-gallery-belt:focus-within .public-gallery-track{animation-play-state:paused}
.public-gallery-belt.is-static .public-gallery-track{width:100%;justify-content:center;animation:none}
.public-gallery-track figure{
  position:relative;
  flex:0 0 200px;
  width:200px;
  grid-column:auto;
  margin:0 20px 0 0;
  overflow:visible;
  border:0;
  background:transparent;
  transition:transform .25s ease;
}
.public-gallery-track figure:nth-child(n){grid-column:auto;margin-top:0;transform:none}
.public-gallery-track figure:hover{z-index:2;transform:translateY(-4px)}
.public-gallery-track figure:before{display:none;content:none}
.public-gallery-track .gallery-photo-button{
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:36px;
  background:#111412;
  box-shadow:0 8px 22px #0005;
  cursor:zoom-in;
}
.public-gallery-track .gallery-photo-button img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#111412;
}
.public-gallery-track figcaption{
  overflow:hidden;
  padding:9px 4px 0;
  color:#c1c3b9;
  font-size:9px;
  letter-spacing:.06em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
@keyframes gallery-belt-scroll{to{transform:translateX(var(--gallery-belt-shift,-50%))}}
@media(max-width:800px){
  .public-gallery-track figure{flex-basis:200px;width:200px;margin-right:16px}
}
@media(max-width:540px){
  .public-gallery-belt{margin-bottom:40px;padding:22px 10px}
  .public-gallery-track figure{flex-basis:200px;width:200px;margin-right:12px}
  .public-gallery-track .gallery-photo-button{border-radius:30px}
}
@media(prefers-reduced-motion:reduce){
  .public-gallery-belt.is-moving .public-gallery-track{animation:none}
  .public-gallery-belt.is-moving{overflow-x:auto}
  .public-gallery-track figure[data-belt-copy]{display:none}
}

/* Service pages and nested links in the hamburger menu. */
.main-nav{max-height:calc(100vh - 92px);overflow-y:auto}
.nav-service-group{display:block;border-top:1px solid #565a53;border-bottom:1px solid #565a53}
.nav-service-group summary{display:flex;align-items:center;justify-content:space-between;padding:11px 0;cursor:pointer;list-style:none;font-weight:600}
.main-nav .nav-service-group summary{color:#d8d9d2}
.nav-service-group summary::-webkit-details-marker{display:none}
.nav-service-arrow{display:inline-block;transition:transform .2s ease}
.nav-service-group[open] .nav-service-arrow{transform:rotate(90deg)}
.nav-service-submenu{display:none;flex-direction:column;gap:10px;padding:0 0 13px 13px}
.nav-service-group[open] .nav-service-submenu{display:flex}
.main-nav .nav-service-submenu a{color:#c1c3b9;font-size:12px}
.main-nav .nav-service-submenu a:before{content:"—";margin-right:8px;color:#858b7a}
.main-nav .nav-service-submenu a.active{color:#fff}
.service-page,.service-detail-page{padding-top:55px}
.service-intro{padding-bottom:54px}
.service-intro h1,.service-detail-intro h1{font-size:clamp(54px,7vw,82px)}
.service-intro>p:last-child,.service-detail-intro>p:last-child{max-width:580px}
.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-card{position:relative;display:flex;min-height:290px;flex-direction:column;justify-content:space-between;padding:25px 23px;background:#e9e7df;border:1px solid #d8d7ce;transition:background .2s,transform .2s}
.service-card:hover{background:#e1e1d7;transform:translateY(-3px)}
.service-card-number{font:italic 20px var(--serif);color:#858b7a}
.service-card-copy{display:flex;flex-direction:column;gap:10px;padding-right:10px}
.service-card-copy small{font-size:8px;letter-spacing:.14em;color:#7b7c72}
.service-card-copy b{font:500 29px var(--serif);color:var(--ink)}
.service-card-copy>span{font-size:12px;line-height:1.8;color:#72746c}
.service-card-arrow{position:absolute;right:22px;bottom:22px;font-size:16px;color:#6e7565}
.service-outro,.service-callout{text-align:center;padding:86px 0 96px}
.service-outro h2,.service-callout h2{margin:0 0 24px;font:500 clamp(32px,4vw,45px)/1.2 var(--serif)}
.service-detail-page>.gallery-back{display:inline-block;margin:16px 0 0}
.service-detail-intro{padding-top:48px}
.service-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-story{padding:30px 12px 34px 0;border-bottom:1px solid var(--line)}
.service-story:nth-last-child(-n+2){border-bottom:0}
.service-story h2,.wiki-topic-card h2{margin:11px 0 12px;font:500 25px var(--serif)}
.service-story p,.wiki-topic-card p{max-width:500px;margin:0;color:#71736b;font-size:12px;line-height:1.9}
.service-callout{padding-bottom:72px}
.studio-map-panel{display:grid;grid-template-columns:.65fr 1.35fr;align-items:center;gap:5%;padding:38px 3%;border:1px solid var(--line);background:#e9e7df}
.studio-map-copy h2,.wiki-link-panel h2{margin:10px 0 17px;font:500 clamp(28px,4vw,42px)/1.22 var(--serif)}
.studio-map-copy h2{color:#252821}
.studio-map-copy h2 em{color:#465640}
.studio-map-copy .eyebrow{color:#59634e}
.studio-map-copy>p:not(.eyebrow),.wiki-link-panel>div>p:not(.eyebrow){max-width:400px;margin:0 0 23px;color:#71736b;font-size:12px;line-height:1.9}
.studio-map-embed{min-width:0;min-height:390px;height:clamp(390px,48vw,620px);overflow:hidden;border:1px solid #333832;background:#202421}
.studio-map-embed iframe{display:block;width:100%;height:100%;border:0}
.service-source-note{margin:14px 0 60px;color:#818279;font-size:10px;line-height:1.7}
.wiki-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wiki-topic-card{min-height:205px;padding:24px;background:#e9e7df;border:1px solid #d8d7ce}
.wiki-link-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:46px 0 80px;padding:38px 5%;border:1px solid var(--line)}
.wiki-link-panel h2{margin-bottom:13px}
.wiki-link-panel>div>p:not(.eyebrow){margin-bottom:0}
@media(max-width:800px){
  .service-page,.service-detail-page{padding-top:38px}
  .service-card-grid,.wiki-topic-grid{grid-template-columns:1fr 1fr}
  .service-card:last-child,.wiki-topic-card:last-child{grid-column:1/-1}
  .studio-map-panel{grid-template-columns:1fr;gap:22px;padding:28px 5%}
  .studio-map-embed{min-height:360px;height:58vw}
  .wiki-link-panel{align-items:flex-start;flex-direction:column;padding:30px 6%}
}
@media(max-width:540px){
  .service-intro{padding:56px 2vw 34px}
  .service-card-grid,.wiki-topic-grid,.service-story-grid{grid-template-columns:1fr}
  .service-card,.service-card:last-child,.wiki-topic-card,.wiki-topic-card:last-child{grid-column:auto;min-height:220px}
  .service-story:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .service-story:last-child{border-bottom:0}
  .studio-map-panel{padding:22px 5%}
  .studio-map-embed{min-height:320px;height:78vw}
  .service-outro,.service-callout{padding:63px 0 72px}
  .wiki-link-panel{margin:35px 0 60px}
}
