/* Phone art direction. The established tablet / desktop layout stays in place. */
.mobile-only,.comparison-controls,.gallery-controls,.mobile-project-about,.global-room-options{display:none}
.service-inclusions{padding:0;border:0}.service-inclusions>summary{display:none}
.project-service-note{border-top:1px solid #cfc5b7;padding:40px 0}.project-service-note h2{font-size:38px}.project-service-note .eyebrow{margin-bottom:16px}
.brand-byline{display:none}
.variant-fallback{font-size:14px}.variant-fallback a{text-decoration:underline}
@media(max-width:700px){
  .mobile-only{display:initial}.desktop-only{display:none!important}
  .draft-bar{font-size:11px;letter-spacing:.1em;padding:6px 12px}.draft-bar .draft-description{display:none}
  header{padding:15px 6%;align-items:center;gap:12px;position:relative}.brand{width:190px;max-width:53vw}
  header>a:first-child{max-width:53vw;min-width:0}header picture,.footer-top>a>picture{display:block}
  .brand-byline{display:block;margin-top:7px;font:500 .75rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.06em;color:#1b1a18;max-width:100%;overflow-wrap:normal}
  header .menu-button{display:grid;place-items:center;width:46px;flex:0 0 46px;border:1px solid #a99b88;background:transparent;padding:10px;min-height:46px;font:14px Manrope;color:#1b1a18}
  header.mobile-menu-ready>nav{display:none}header.mobile-menu-ready.menu-open>nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 0}
  header>nav a{font-size:16px;min-height:48px;padding:11px 0}header>nav .nav-cta{padding:10px 14px;text-align:center;margin-top:8px}
  .wrap{padding:0 6%}section{padding:36px 0}.eyebrow{margin-bottom:14px;font-size:12px}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:24px;padding-bottom:35px}
  .hero-copy{display:contents}.hero-copy>.eyebrow{order:0;margin-bottom:10px}.hero h1{order:1;font-size:clamp(43px,11.7vw,65px);line-height:1.04;letter-spacing:-.035em;margin-bottom:22px}
  .hero-media{order:2;width:100vw;margin:0 -6vw}.hero-image{aspect-ratio:3/2;object-fit:contain}.hero-media .caption{margin:10px 6vw 0;font-size:11px}
  .hero p{order:3;margin:20px 0 18px;font-size:16px;max-width:100%}.hero .button{order:4;align-self:flex-start;min-height:48px;padding:13px 21px;font-size:14px}.hero .textlink{order:5;align-self:flex-start;margin:8px 0 0;min-height:44px;display:inline-flex;align-items:center}
  .section-head{gap:12px;margin-bottom:22px}.section-head h2{font-size:36px}.section-head .textlink{min-height:44px;padding:9px 0}
  .statement{padding:36px 6%}.statement h2{font-size:36px}.statement p{font-size:16px;margin-top:20px}
  .services{gap:28px}.service{padding-top:20px}.service .eyebrow{margin-bottom:12px}.service h3{font-size:33px}.price{font-size:37px;margin:12px 0 8px}.service p{font-size:16px;margin:8px 0 12px}.service .textlink{min-height:44px;padding:9px 0}
  .service-inclusions{border-top:1px solid #d8cfc0;border-bottom:1px solid #d8cfc0;margin:15px 0 7px}.service-inclusions>summary{display:list-item;min-height:48px;padding:11px 0;font-size:14px}.service-inclusions ul{font-size:15px;margin:8px 0 20px}
  .space-service{grid-template-columns:1fr;gap:24px;margin-top:32px;padding:26px 0}.space-service h3{font-size:36px}.space-service .price{margin:12px 0 8px}.space-service ul{font-size:15px}.space-service .note{font-size:14px}.space-service .button{min-height:48px}
  .founder{gap:24px}.founder .portrait{max-height:440px;object-position:center 30%}.founder h2{font-size:36px}
  .page-intro{padding:28px 0}.page-intro h1{font-size:44px;line-height:1.06}.page-intro p{font-size:16px;margin-top:18px}
  .portfolio-intro{padding-bottom:20px}.portfolio-intro h1{font-size:44px}.project-index{gap:8px;margin-bottom:22px}.project-index a{min-height:44px;font-size:14px;padding:9px 12px}
  .case-card{padding:25px 0 32px}.case-heading{gap:10px;margin-bottom:18px}.case-heading h2{font-size:36px}.case-heading .eyebrow{margin-bottom:8px}.case-link{min-height:44px;padding:9px 0}
  .phone-comparison{display:block!important;width:100vw;margin-left:-6vw;margin-right:-6vw}
  .phone-comparison[data-show=after]>:first-child,.phone-comparison[data-show=before]>:last-child{display:none}
  .phone-comparison .comparison-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#e6ddce}
  .phone-comparison .caption,.phone-comparison .image-label{margin:10px 6vw 0;font-size:12px;min-height:23px}
  .phone-comparison .image-label small{font-size:13px}.phone-comparison .image-label strong{letter-spacing:.025em;font-size:12px}
  .comparison-controls{display:flex;gap:0;margin:14px 0 0;align-self:flex-start;border:1px solid #a99b88;width:max-content}
  .comparison-controls .choice{border:0;min-width:94px;min-height:46px;font-size:14px;padding:10px 18px}.comparison-controls .choice[aria-pressed=true]{background:#59282b}
  .case-bottom{margin-top:18px;gap:12px}.case-bottom p{font-size:16px}.case-card .materials{margin:16px 0 0;font-size:13px;gap:6px 14px}
  .project-intro{padding:18px 0 20px}.project-intro .breadcrumb{min-height:36px;margin-bottom:12px;padding:4px 0;font-size:14px}.project-intro .eyebrow{margin-bottom:9px}.project-intro h1{font-size:42px}
  .mobile-gallery-ready .project-intro>p,.mobile-gallery-ready .project-intro>.materials,.mobile-gallery-ready .project-note,.mobile-gallery-ready .room-index,.mobile-gallery-ready .palette-bar,.mobile-gallery-ready .expand-hint{display:none}
  .gallery-controls{display:block;border-top:1px solid #cfc5b7;padding-top:16px;margin-bottom:0}.gallery-controls>label{display:block;font-size:13px;color:#665e52;margin-bottom:6px}
  .gallery-controls select{display:block;width:100%;min-height:48px;border:1px solid #a99b88;border-radius:0;padding:10px 34px 10px 12px;background:#f1ece3;color:#1b1a18;font:16px Manrope;max-width:100%}
  .gallery-controls select:focus-visible{outline:2px solid #59282b;outline-offset:3px}
  .gallery-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:6px}
  .gallery-navigation button{background:none;border:0;color:#1b1a18;font:14px Manrope;min-height:44px;padding:8px 0;text-align:left}.gallery-navigation button:last-child{text-align:right}.gallery-navigation button:disabled{opacity:.35}.gallery-count{font-size:13px;color:#6e6457}
  .mobile-gallery-ready .gallery-item:not(.is-active){display:none}
  .project-gallery .room{display:flex;flex-direction:column;padding:8px 0 24px;scroll-margin-top:20px}.room-heading{order:0;margin-bottom:14px;gap:0}.room h2{font-size:28px}.room-number{display:none}
  .room>.pair,.room>.single{order:1}.room>.comparison-controls{order:2}.room>.room-options{order:3}.room>.room-note{order:4}
  .room>.single{width:100vw;max-width:none!important;margin:0 -6vw}.room>.single .image-label{margin:10px 6vw 0}
  .room.portrait-room .comparison-image{aspect-ratio:3/4;max-height:64dvh;object-fit:contain}.room.portrait-room .image-label{display:flex;align-items:start;font-size:12px}.room.portrait-room .image-label small{margin:0;text-align:right}
  .room-options{margin:14px 0 0}.global-room-options{display:block}.room-options .choices{gap:7px}.room-options .choice{min-height:46px;padding:10px 14px;font-size:14px}
  .room .room-note{font-size:14px;margin:16px 0 0}.plans{padding:8px 0 28px}.plans h2{font-size:30px;margin-bottom:18px}
  .mobile-project-about{display:block;border-top:0;padding:16px 0}.mobile-project-about>summary{min-height:44px;padding:8px 0;font-size:15px}.mobile-project-about p{font-size:15px}.mobile-project-about .project-note{display:block;font-size:14px;margin-bottom:14px}.mobile-project-about .materials{font-size:13px;margin:16px 0}
  .project-service-note{padding:28px 0}.project-service-note h2{font-size:31px}.project-service-note .textlink{min-height:44px;padding:9px 0}.source-credit{margin:24px 0;font-size:13px}.next-projects{gap:12px;padding:20px 0 34px}.next-projects a{min-height:44px;padding:8px 0}
  #image-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0}
  #image-viewer[open]{display:flex;flex-direction:column}#image-viewer .viewer-toolbar{padding:12px 5%;flex:none}#image-viewer figure{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0;padding:12px 0 22px}#image-viewer img{width:auto;max-width:100vw;max-height:calc(100dvh - 175px);object-fit:contain}#image-viewer figcaption{padding:14px 6% 0;font-size:14px}#image-viewer button{min-height:46px}
  .contact-layout{padding-bottom:40px;gap:26px}.brief{padding:24px}.steps{gap:24px}.steps p,.details p{font-size:16px}.details{padding-top:32px}.details h2{font-size:35px}details{padding:18px 0}.note{font-size:14px}
  footer{padding:30px 6% 22px}.footer-logo{width:185px}.footer-links{gap:4px 22px}.footer-links a{min-height:44px;padding:9px 0}.footer-bottom{margin-top:22px;gap:8px}
}

/* Accessible three-line navigation control; the open state is a close icon. */
.menu-icon{display:block;position:relative;width:20px;height:16px}.menu-icon>span{position:absolute;display:block;left:0;width:20px;height:1.5px;background:currentColor;transition:transform .15s,opacity .15s}.menu-icon>span:nth-child(1){top:0}.menu-icon>span:nth-child(2){top:7px}.menu-icon>span:nth-child(3){top:14px}.menu-open .menu-icon>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-icon>span:nth-child(2){opacity:0}.menu-open .menu-icon>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:700px){.back-link{margin-bottom:14px}.project-intro .breadcrumb{min-height:44px}}
@media(prefers-reduced-motion:reduce){.menu-icon>span{transition:none}}

/* A visible return path, including while scrolling or viewing a full-size image. */
.back-icon{display:block;flex:0 0 22px}
a[data-back]{align-items:center;gap:8px}
a.back-link[data-back],a.breadcrumb[data-back]{display:inline-flex;min-height:44px}
.floating-back{display:none}
#image-viewer [data-close]{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:#1b1a18;color:#f1ece3;border-color:#1b1a18}
a[data-back]:focus-visible,#image-viewer [data-close]:focus-visible{outline:2px solid #59282b;outline-offset:4px}
@media(max-width:700px){
  .floating-back{display:inline-flex;position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:12;min-height:46px;padding:10px 18px;border:1px solid #887356;border-radius:28px;background:#f1ece3;color:#1b1a18;box-shadow:0 3px 18px #1b1a1826;font:500 15px/1.4 Manrope,Arial,sans-serif}
  .floating-back~footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  #image-viewer .viewer-toolbar{padding-top:max(12px,env(safe-area-inset-top));gap:12px}
}
