/* Mobile-first refinements layered over the core editorial design */
.mobile-contact-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 18px;border-radius:999px;background:var(--ink);color:var(--ivory);box-shadow:0 12px 32px rgba(38,34,31,.24);font-size:.76rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transition:transform .2s,box-shadow .2s}.mobile-contact-fab:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(38,34,31,.28)}.mobile-contact-fab svg{width:18px;height:18px;flex:0 0 auto}.mobile-contact-fab[aria-current='page']{display:none}
.contact-intro{max-width:700px}.contact-page-hero p{max-width:620px}.contact-section{padding-top:82px}.contact-card{background:var(--white);border:1px solid var(--line);padding:clamp(22px,4vw,42px)}.contact-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.contact-quick a,.contact-quick div{min-height:74px;padding:14px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.contact-quick strong{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.contact-quick span{font-size:.9rem;margin-top:3px}.form-progress{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.form-progress::before{content:'';width:34px;height:1px;background:currentColor}.field input,.field select,.field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:2px}.field textarea{min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.field label{font-size:.69rem}.form .btn{width:100%;min-height:56px}.form-note{text-align:center}.contact-optional{font-weight:400;opacity:.58;text-transform:none;letter-spacing:0}
.hero-location{font-size:.7rem;letter-spacing:.15em;white-space:nowrap}.artist-intro-image{position:relative;overflow:hidden}.artist-intro-image img{object-position:center 58%}.artist-intro-image::after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(22,18,16,.78))}.artist-image-caption{position:absolute;left:clamp(24px,5vw,70px);right:clamp(24px,5vw,70px);bottom:clamp(28px,5vw,64px);z-index:2;color:var(--white)}.artist-image-caption .heading{max-width:760px;margin-top:10px;font-size:clamp(2.45rem,5.4vw,5.2rem)}.artist-intro .editorial-copy{justify-content:center}.artist-intro .editorial-copy p{font-size:1.05rem}
.portfolio-hero p{max-width:560px}.portfolio-story{padding:90px 0 110px}.portfolio-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.portfolio-item{margin:0;overflow:hidden}.portfolio-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;transition:transform .7s}.portfolio-item:hover img{transform:scale(1.025)}.portfolio-item-feature{grid-column:1/-1}.portfolio-item-feature img{aspect-ratio:16/9}.portfolio-item-wide{grid-column:1/-1}.portfolio-item-wide img{aspect-ratio:16/8}.portfolio-item-tall img{aspect-ratio:3/5}.portfolio-item figcaption{padding:12px 0 2px;font-family:var(--serif);font-size:1.3rem;font-style:italic}.portfolio-close{padding:100px 0;background:var(--cream);text-align:center}.portfolio-close .heading{max-width:900px;margin:0 auto}.portfolio-close .btn{margin-top:28px}
@media(max-width:850px){
  .site-header{padding-top:calc(11px + env(safe-area-inset-top));padding-bottom:11px}.brand{font-size:1.95rem;max-width:none;min-height:62px}.brand small{font-size:.72rem;letter-spacing:.21em;margin-top:8px}.nav-toggle{display:flex;width:64px;height:64px;font-size:2.25rem;border:0;border-radius:0;background:transparent}.nav-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
  .site-header.scrolled{padding-top:calc(7px + env(safe-area-inset-top));padding-bottom:7px}.site-header.scrolled .brand{font-size:1.58rem;min-height:48px}.site-header.scrolled .brand small{font-size:.58rem;margin-top:6px}.site-header.scrolled .nav-toggle{width:50px;height:50px;font-size:1.85rem}
  .nav-links{inset:calc(88px + env(safe-area-inset-top)) 12px auto auto;width:min(88vw,360px);height:auto;min-height:0;max-height:calc(100dvh - 110px - env(safe-area-inset-top));padding:14px 22px 20px;background:rgba(248,244,237,.98);border:1px solid var(--line);box-shadow:0 22px 60px rgba(38,34,31,.22);border-radius:3px;justify-content:flex-start;font-size:2rem;overflow-y:auto;transform-origin:top right}.site-header.scrolled .nav-links{top:calc(70px + env(safe-area-inset-top))}
  .nav-links a{min-height:62px}.nav-links.open{animation:drawerIn .22s ease both}.site-header.menu-active{background:transparent}.site-header.menu-active::before{content:'';position:fixed;inset:0;background:rgba(24,21,19,.28);z-index:-1;backdrop-filter:blur(2px)}
  .form-wrap{gap:34px}.contact-intro .heading{font-size:clamp(2.5rem,12vw,4rem)}.contact-quick{grid-template-columns:1fr}.contact-card{padding:24px 18px}.mobile-contact-fab{min-height:52px;padding:0 16px}
  .artist-intro{display:block}.artist-intro .image{min-height:64vh}.artist-intro .editorial-copy{padding:36px 24px 48px}.artist-image-caption{left:24px;right:24px;bottom:26px}.artist-image-caption .heading{font-size:clamp(2.35rem,9vw,3.7rem);line-height:.96}.artist-intro .editorial-copy p{margin-top:0}
  .about-photo::after{display:none}.about-photo{margin-bottom:8px}.portfolio-story{padding:54px 0 68px}.portfolio-editorial-grid{gap:14px}.portfolio-item-feature img,.portfolio-item-wide img{aspect-ratio:4/3}
}
@media(max-width:560px){
  body{font-size:16.5px;line-height:1.65}.container{width:min(100% - 32px,1180px)}.site-header .container{width:min(100% - 22px,1180px)}.brand{font-size:1.78rem;line-height:.92}.brand small{font-size:.68rem;letter-spacing:.18em}.nav-toggle{width:64px;height:64px;font-size:2.15rem}
  .site-header.scrolled .brand{font-size:1.46rem}.site-header.scrolled .brand small{font-size:.54rem}.site-header.scrolled .nav-toggle{width:48px;height:48px;font-size:1.75rem}
  .nav-links{top:calc(84px + env(safe-area-inset-top));right:10px;width:calc(100% - 20px);padding:10px 20px 18px;font-size:1.75rem}.nav-links a{min-height:58px}
  .hero-location{display:block;font-size:clamp(.59rem,2.65vw,.66rem);letter-spacing:.075em;white-space:nowrap}.hero-location::before,.hero-location::after{display:none!important}
  .intro{padding:68px 0}.services{padding:72px 0}.services-head{margin-bottom:44px}.quote-band{padding:72px 0}.quote-band blockquote{font-size:clamp(2.25rem,10.5vw,3.35rem)}.about-preview{padding:76px 0}.footer{padding-top:64px}.footer h3{font-size:2.05rem}
  .page-hero{padding:132px 0 44px}.page-hero .display{font-size:clamp(3.1rem,15vw,4.6rem)}.content-section{padding:60px 0}.contact-section{padding-top:54px}.contact-copy .heading{font-size:clamp(2.4rem,11vw,3.35rem)}.form{gap:14px}.field{gap:6px}.field input,.field select,.field textarea{font-size:16px}.form-status{text-align:center}
  .mobile-contact-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;padding:0 14px;font-size:.66rem;gap:8px}.mobile-contact-fab span{display:inline}.mobile-contact-fab svg{width:18px;height:18px}
  .artist-intro .image{min-height:60vh}.artist-image-caption{left:20px;right:20px;bottom:22px}.artist-image-caption .eyebrow{font-size:.64rem}.artist-image-caption .heading{font-size:clamp(2.2rem,10.5vw,3.25rem)}
  .portfolio-editorial-grid{grid-template-columns:1fr;gap:20px}.portfolio-item-feature,.portfolio-item-wide{grid-column:auto}.portfolio-item img,.portfolio-item-feature img,.portfolio-item-wide img,.portfolio-item-tall img{aspect-ratio:4/5}.portfolio-item:nth-child(4) img,.portfolio-item:nth-child(9) img{aspect-ratio:4/3}.portfolio-item figcaption{font-size:1.2rem;padding-top:9px}.portfolio-close{padding:68px 0}.portfolio-close .heading{font-size:clamp(2.35rem,10.5vw,3.45rem)}
}
@media(max-width:360px){.brand{font-size:1.58rem}.brand small{font-size:.6rem}.nav-toggle{width:58px;height:58px;font-size:2rem}.hero-location{font-size:.56rem;letter-spacing:.045em}.mobile-contact-fab{font-size:.62rem;padding:0 12px}}
@media(min-width:851px){.mobile-contact-fab{right:26px;bottom:26px}.contact-form-layout{grid-template-columns:.72fr 1.28fr}.contact-card{box-shadow:var(--shadow)}}
@keyframes drawerIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}