/* Compact WWH layout — shared across the public website. */
:root { --section-space: 3.5rem; --page-gutter: clamp(1.2rem,4.5vw,5rem); }
body { font-size: 15px; }
main { min-width: 0; }
img { max-width: 100%; }
.site-header { height: 78px; gap: 1.5rem; }
.site-header .brand img { width: 110px; height: auto; }
.site-header nav { gap: clamp(1rem,2vw,2rem); }
.site-header nav a { font-size: .72rem; }
.site-header .availability { font-size: .65rem; }
.hero { min-height: 0; padding-top: 2.5rem; padding-bottom: 2.5rem; gap: 1.6rem; }
.hero h1 { font-size: clamp(3.2rem,6.5vw,6.2rem); line-height: .97; margin: .5rem 0; }
.hero .hero-top { margin-bottom: 0; }
.hero .hero-foot { gap: 2rem; align-items: center; }
.hero .hero-foot p { font-size: .95rem; line-height: 1.65; max-width: 34rem; margin: 0; }
.hero .circle-link { width: 3rem; height: 3rem; flex-shrink: 0; }
.hero .scribble { display: none; }
.work,.studio,.services,.contact,.project-overview,.project-gallery { padding-top: 3rem; padding-bottom: 3rem; }
.section-index { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; margin: 0; line-height: 1.7; }
.compact-section-head { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; align-items: start; margin-bottom: 1.75rem; }
.compact-section-head h2,.home-studio h2 { font: 400 clamp(2rem,3.5vw,3.4rem)/1.04 var(--serif); letter-spacing: -.04em; margin: 0 0 1rem; }
.compact-section-head > div > p { max-width: 35rem; font-size: 1rem; line-height: 1.6; }
.text-link { display: inline-block; width: fit-content; border-bottom: 1px solid currentColor; padding: .35rem 0; font-size: .8rem; line-height: 1.5; }
.text-link:hover { color: var(--blue); }
.home-work .text-link:hover { color: var(--acid); }
.inline-links { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; }
.work-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.7rem 1.3rem; }
.work-card { min-width: 0; }
.work-card-image { display: block; background: #e5e2d8; border: 1px solid currentColor; padding: .45rem; }
.work-card-image img { display: block; width: 100%; height: clamp(120px,14vw,190px); object-fit: cover; transition: filter .2s; }
.work-card-image:hover img { filter: saturate(.7); }
.work-card-caption { padding-top: .65rem; }
.work-card-caption h3 { font: 400 1.3rem/1.3 var(--serif); letter-spacing: -.015em; margin: 0 0 .3rem; }
.work-card-caption p,.work-card-caption > span { font-size: .74rem; line-height: 1.55; opacity: .75; margin: 0; display: block; }
.project-placeholder { min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; background: var(--paper); color: var(--ink); font: 400 2rem var(--serif); }
.project-placeholder small { font: 400 .65rem var(--sans); text-transform: uppercase; letter-spacing: .12em; }
.home-studio { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: start; gap: 2rem; }
.home-studio-copy .mini-note { display: inline-block; font-size: .7rem; margin: 0 0 1.4rem; }
.home-studio-copy p { font-size: 1rem; line-height: 1.65; max-width: 39rem; margin: 0 0 1.2rem; }
.home-studio-note { font: 400 1.1rem/1.6 var(--serif); border-top: 3px solid var(--acid); padding-top: 1rem; margin: 0; }
.home-studio-note span { display: inline-block; margin-top: .8rem; font: 400 .75rem/1.6 var(--sans); }
.process-overview { list-style: none; padding: 1rem 0 0; margin: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--ink); gap: 1rem; }
.process-overview li { font: 400 1.1rem/1.5 var(--serif); }
.process-overview li span { display: block; color: var(--blue); font: 400 .65rem var(--sans); margin-bottom: .5rem; }
.home-services { min-height: 0; }
.contact h2 { font-size: clamp(2.5rem,4.5vw,4rem); line-height: 1.05; margin: 1rem 0; }
.contact .contact-note { max-width: 37rem; font-size: .9rem; line-height: 1.7; }
.contact-stamp { display: none; }
.contact-actions { margin-top: 1.5rem; gap: 1rem; }
.contact-actions a { font-size: .85rem; }
.contact-details { margin-top: 2rem; gap: 2rem; }
.contact-details address,.contact-details a { font-size: .9rem; }
footer { flex-wrap: wrap; gap: 1rem 1.8rem; font-size: .65rem; }
.section-intro { padding: 2.5rem var(--page-gutter) 2rem; }
.section-intro .section-index { margin-bottom: 1.5rem; }
.section-intro h1 { font: 400 clamp(2.6rem,5vw,4.4rem)/1.02 var(--serif); letter-spacing: -.045em; margin: 0 0 1.3rem; }
.section-intro h1 em { color: var(--blue); font-weight: 400; }
.section-intro > p:last-child { max-width: 40rem; font-size: 1rem; line-height: 1.65; margin-bottom: 0; }
.work-index { padding: .5rem var(--page-gutter) 3.5rem; }
.work-index .work-card-grid { gap: 2rem 1.5rem; }
.work-index .work-card-image { box-shadow: 3px 3px 0 var(--blue); }
.studio-detail-page .studio { padding-top: 1.5rem; }
.studio-detail-page .studio-copy h2 { font-size: clamp(2.2rem,3.7vw,3.4rem); }
.studio-detail-page .studio-copy p { font-size: 1rem; line-height: 1.65; }
.studio-detail-page .studio dl div { padding: 1rem; margin-bottom: 1rem; }
.studio-detail-page .studio dd { font-size: 1rem; line-height: 1.55; }
.studio-detail-page .wwh-values-heading { gap: 2rem; margin-bottom: 2rem; }
.studio-detail-page .wwh-values-heading h3 { font-size: clamp(1.9rem,3.3vw,3.2rem); line-height: 1.12; letter-spacing: -.035em; }
.studio-detail-page .wwh-values-heading > div > p { font-size: .95rem; line-height: 1.65; }
.studio-detail-page .wwh-question h4 { font-size: clamp(2.3rem,3.5vw,3.4rem); margin: 1.25rem 0 1rem; }
.studio-detail-page .wwh-return p { font-size: clamp(1.5rem,2.4vw,2.3rem); }
.ways-page .services { padding-top: 2.5rem; }
.ways-page .services-intro { margin-bottom: 2rem; }
.ways-page #services-title { font: 400 clamp(2.6rem,5vw,4.4rem)/1.04 var(--serif); letter-spacing: -.045em; margin: 0 0 1rem; }
.ways-page #services-title em { color: var(--blue); font-weight: 400; }
.ways-page .services-intro > div > p { font-size: 1rem; line-height: 1.65; max-width: 40rem; }
.ways-page .process-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; min-height: 0; padding: 0; margin: 0; }
.ways-page .process-timeline::before,.ways-page .process-timeline::after,.ways-page .process-step::before,.ways-page .process-note::after { display: none; }
.ways-page .process-step { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 1rem; margin: 0; padding: 0; min-height: 0; }
.ways-page .process-note { transform: none; padding: 1.25rem; flex: 1; align-self: stretch; grid-row: auto; }
.ways-page .process-note h3 { font-size: 1.7rem; line-height: 1.2; margin: 0 0 .8rem; }
.ways-page .process-note strong { font-size: .9rem; line-height: 1.5; }
.ways-page .process-note > p:last-child { font-size: .85rem; line-height: 1.65; }
.ways-page .process-number { position: static; width: 2.5rem; height: 2.5rem; font-size: .9rem; box-shadow: 2px 2px 0 rgba(0,0,0,.2); border-width: 1px; }
.ways-page .service-scope { margin-top: 2.5rem; }
.project-page .project-detail-hero { min-height: 0; padding-top: 2rem; padding-bottom: 1.5rem; gap: 1.5rem; }
.project-page .project-title-row h1 { font-size: clamp(2.4rem,4.6vw,4.5rem); line-height: 1; }
.project-page .project-detail-top { gap: 1rem; }
.project-page .project-facts { padding-top: 1rem; }
.project-page .project-facts dt { font-size: .65rem; }
.project-page .project-facts dd { font-size: .95rem; }
.project-page .project-search-summary { max-width: 48rem; font-size: .9rem; margin-top: 1rem; }
.project-page .project-cover { width: min(68%,760px); max-height: 400px; margin: 2rem auto; aspect-ratio: 3/2; }
.project-page .project-overview { padding-top: 2rem; padding-bottom: 2rem; }
.project-page .project-overview h2 { font-size: clamp(2rem,3.7vw,3rem); }
.project-page .project-overview div p { font-size: .95rem; line-height: 1.65; }
.project-page .project-gallery { padding-top: 2rem; padding-bottom: 2rem; }
.project-page .project-gallery-head { margin-bottom: 1.5rem; }
.project-page .project-gallery-head h2 { font-size: clamp(1.6rem,3vw,2.5rem); }
.project-page .gallery-grid { row-gap: 1.5rem; }
.project-page .project-gallery .gallery-sheet { width: min(100%,76vh); max-width: 760px; margin-left: auto; margin-right: auto; justify-self: center; }
.project-page .project-gallery .image-sheet { padding: .5rem; box-shadow: 5px 5px 0 rgba(0,0,0,.3); }
.project-page .project-gallery .image-sheet::after { height: 3px; }
.project-page .sketch-note { font-size: clamp(.72rem,1.1vw,.95rem); }
.conversation-intro,.hiring-intro { padding-top: 2.5rem; }
.conversation-intro h1,.hiring-intro h1 { font-size: clamp(2.5rem,5vw,4.8rem); line-height: 1.03; }
.conversation-intro > p,.intro-note p { font-size: .95rem; line-height: 1.65; }
.hiring-intro .intro-grid { margin: 2rem 0; gap: 3rem; }
.roles .role { padding-top: 3rem; padding-bottom: 3rem; gap: 4vw; }
.role-heading h2,.hiring-apply h2 { font-size: clamp(2.2rem,4vw,3.6rem); }
.role-summary { font-size: 1rem; line-height: 1.65; }
.role-copy li { font-size: .9rem; }
.hiring-apply { padding-top: 3rem; padding-bottom: 3rem; }
.location-intro { padding-top: 2rem; padding-bottom: 2rem; }
.location-intro h1 { font-size: clamp(2.4rem,4.5vw,4rem); }
.location-kicker { margin-top: 1.5rem; }
.location-layout { gap: 2rem; padding-bottom: 3rem; grid-template-columns: minmax(0,1.5fr) minmax(240px,1fr); }
.studio-map { max-width: 600px; }
.location-details h2 { font-size: 2.1rem; margin: 1.3rem 0; }
@media(min-width:761px) and (max-width:1100px) {
  .site-header .availability { display: none; }
  .home-studio { grid-template-columns: 1fr 2fr; }
  .home-studio-note { grid-column: 2; }
  .ways-page .process-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  :root { --page-gutter: 1.2rem; --section-space: 2.5rem; }
  body { font-size: 14px; }
  .site-header { height: 64px; }
  .site-header .brand img { width: 92px; }
  .mobile-nav { top: 64px; padding: 1.2rem var(--page-gutter); gap: 1rem; }
  .hero { min-height: 0; padding-top: 1.8rem; padding-bottom: 2rem; gap: 1.4rem; }
  .hero h1 { font-size: clamp(2.8rem,11.5vw,4rem); line-height: 1; }
  .hero .hero-top { display: block; }
  .hero .hero-top .issue { display: none; }
  .hero .hero-foot { display: flex; gap: 1rem; }
  .hero .hero-foot p { font-size: .85rem; line-height: 1.65; }
  .hero .circle-link { width: 2.6rem; height: 2.6rem; }
  .work,.studio,.services,.contact { padding-top: 2.2rem; padding-bottom: 2.2rem; }
  .compact-section-head,.home-studio { grid-template-columns: 1fr; gap: 1.1rem; }
  .compact-section-head h2,.home-studio h2 { font-size: clamp(1.9rem,7.3vw,2.7rem); line-height: 1.08; }
  .work-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.3rem .85rem; }
  .work-card-image { padding: .25rem; }
  .work-card-image img { height: clamp(105px,29vw,165px); }
  .work-card-caption h3 { font-size: 1.08rem; }
  .work-card-caption p,.work-card-caption > span { font-size: .65rem; line-height: 1.5; }
  .home-studio-note { display: none; }
  .home-studio-copy p { font-size: .9rem; }
  .home-studio-copy .mini-note { margin-bottom: 1rem; }
  .process-overview { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
  .process-overview li { font-size: .95rem; }
  .contact h2 { font-size: 2.25rem; }
  .contact-details { gap: 1.2rem; }
  .contact-actions a { font-size: .8rem; }
  .section-intro { padding-top: 2rem; padding-bottom: 1.5rem; }
  .section-intro h1 { font-size: clamp(2.2rem,8.7vw,3rem); }
  .section-intro > p:last-child { font-size: .9rem; }
  .work-index { padding-bottom: 2.5rem; }
  .work-index .work-card-grid { gap: 1.5rem .85rem; }
  .project-placeholder { min-height: 110px; font-size: 1.3rem; }
  .studio-detail-page .studio { padding-top: 1rem; }
  .studio-detail-page .studio-wayfinding { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
  .studio-detail-page .studio-wayfinding .vertical-label { display: none; }
  .studio-detail-page .studio-wayfinding .studio-location-link { margin: 0; }
  .studio-detail-page .studio-copy h2 { font-size: 2.1rem; }
  .studio-detail-page .wwh-values-heading h3 { font-size: 1.9rem; }
  .studio-detail-page .wwh-question h4 { font-size: 2.25rem; }
  .studio-detail-page .wwh-question > p { font-size: .9rem; }
  .ways-page .services-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .ways-page #services-title { font-size: 2.5rem; }
  .ways-page .process-timeline { grid-template-columns: 1fr; gap: 1.6rem; }
  .ways-page .process-step { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .9rem; align-items: start; }
  .ways-page .process-step .process-number { grid-column: 1; grid-row: 1; margin: 0; }
  .ways-page .process-step .process-note { grid-column: 2; grid-row: 1; padding: 1rem; }
  .ways-page .process-note h3 { font-size: 1.55rem; }
  .ways-page .process-note strong { font-size: .85rem; }
  .ways-page .process-note > p:last-child { font-size: .8rem; }
  .project-page .project-title-row h1 { font-size: clamp(2rem,8vw,3rem); }
  .project-page .project-detail-hero { padding-top: 1.6rem; padding-bottom: 1.2rem; gap: 1rem; }
  .project-page .project-facts dd { font-size: .85rem; }
  .project-page .project-search-summary { font-size: .85rem; line-height: 1.65; }
  .project-page .project-cover { width: 78%; max-height: 280px; margin: 1.5rem auto; }
  .project-page .project-gallery .gallery-sheet { width: 96%; max-width: 560px; margin-bottom: 1.5rem; }
  .project-page .sketch-note { font-size: .72rem; line-height: 1.35; }
  .project-page .project-gallery-head { margin-bottom: 1rem; }
  .conversation-intro h1,.hiring-intro h1 { font-size: clamp(2.3rem,9vw,3.2rem); }
  .hiring-intro .intro-grid { grid-template-columns: 1fr; gap: 1rem; margin: 1.5rem 0; }
  .role-heading h2,.hiring-apply h2 { font-size: 2.5rem; }
  .role-details { gap: .7rem; }
  .location-layout { grid-template-columns: 1fr; }
  .location-intro h1 { font-size: 2.5rem; }
  .location-details h2 { font-size: 2rem; }
  footer { padding-top: 1.2rem; padding-bottom: 1.2rem; gap: .8rem 1.2rem; font-size: .6rem; }
}
@media(prefers-reduced-motion:reduce) { .work-card-image img { transition: none; } }

.anchor-target { position: absolute; top: 0; scroll-margin-top: 90px; }
#work,#studio,#services,#wwh-values { scroll-margin-top: 90px; }
@media(max-width:760px) { .work-card-caption p,.work-card-caption > span { font-size: .72rem; } .ways-page .process-note > p:last-child { font-size: .875rem; } }

/* Draft: restore the opening composition and original logo proportions. */
.site-header { height: 96px; }
.site-header .brand img { width: 100%; height: auto; }
.home-page .hero {
  min-height: clamp(560px, calc(100svh - 96px), 800px);
  padding-top: clamp(3rem, 4vw, 4.5rem);
  padding-bottom: clamp(3rem, 4vw, 4.5rem);
  gap: 2.5rem;
}
.home-page .hero::before {
  content: "WWH—00";
  right: clamp(1.25rem, 4vw, 4rem);
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  font-size: clamp(3.25rem, min(8vw, 12vh), 7rem);
  line-height: 1;
  letter-spacing: -.06em;
}
.home-page .home-work { padding-top: clamp(3rem, 5vw, 5rem); }
.home-page .home-work .compact-section-head { margin-bottom: 2.5rem; }
@media(max-width:760px) {
  .site-header { height: 72px; }
  .site-header .brand img { width: 100%; height: auto; }
  .mobile-nav { top: 72px; }
  .home-page .hero {
    min-height: min(580px, calc(100svh - 72px));
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    gap: 2rem;
  }
  .home-page .hero::before { right: 1.2rem; font-size: 3.25rem; }
  .home-page .home-work { padding-top: 2.75rem; }
  .home-page .home-work .compact-section-head { margin-bottom: 2rem; }
}
