/* Final information architecture: extend the existing visual system. */
body { overflow-x: clip; }
.about-image { object-fit: contain; }
.project-content { overflow-x: clip; }
main { display: block; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 5px; }
section[id] { scroll-margin-top: calc(var(--nav-height) + 20px); }
.nav-logo { flex-shrink: 0; font-size: 1.3rem; }
.nav-menu { gap: clamp(12px, 1.7vw, 26px); }
.nav-link { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.nav-link[aria-current="page"] { border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.hero-logo { max-width: min(260px, 65vw); }
.artist-location, .eyebrow { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1.5rem; }
.hero-subtitle { font-size: clamp(1.15rem, 2.4vw, 1.6rem); }
.atelier-intro { padding: 3rem 0 2rem; }
.atelier-intro p:not(.eyebrow) { margin-bottom: 1rem; }
.service-editorial-item { background: transparent; overflow: visible; }
.service-editorial-content { padding: 1.5rem 0 2rem; }
.service-editorial-image-container { height: auto !important; min-height: 0 !important; max-height: none !important; background: transparent; overflow: visible; }
.service-editorial-image { height: auto; object-fit: contain; }
.service-editorial-item:hover .service-editorial-image { transform: none; }
.service-editorial-accent { background: transparent; align-items: center; gap: 3rem; }
.service-editorial-accent .service-editorial-content { padding: 2rem 0; }
.service-editorial-description { color: var(--color-charcoal); }
.service-editorial-content .btn { border: 0; border-bottom: 1px solid; padding: .6rem 0; width: auto; }
figcaption, .project-caption { font-size: .75rem; margin-top: 1rem; letter-spacing: .04em; }
.projects-grid { gap: 2rem; }
.project-image-container { aspect-ratio: auto; background: transparent; }
.project-image { height: auto; object-fit: contain; }
.project-card:hover .project-image { transform: none; }
.project-page .project-hero { margin-top: var(--nav-height); }
.project-content img, .project-section img { cursor: zoom-in; }
.service-offer { padding: 3rem 0; }
.service-offer .container { display: grid; grid-template-columns: 1fr 2fr; gap: 3rem; max-width: 1100px; }
.service-offer h2 { font-size: 1.8rem; }
.service-offer ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 2rem; }
.service-offer li { border-bottom: 1px solid var(--color-light-gray); padding-bottom: .75rem; font-size: .9rem; }
.offer-note { font-size: .85rem; margin-bottom: 2rem; }
.contact-pending { font-size: .9rem; color: var(--color-mid-gray); }
.editorial-pair-asymmetric img { width: 100%; height: auto; }
@media (min-width: 769px) {
 .service-editorial-large { grid-column: span 7; grid-row: auto; }
 .service-editorial-medium { grid-column: span 5; }
 .service-editorial-medium:nth-child(3) { grid-column: span 5; }
 .service-editorial-medium:nth-child(4) { grid-column: span 7; padding-top: 5rem; }
 .service-editorial-medium:nth-child(2) { padding-top: 6rem; }
 .service-editorial-accent { grid-column: span 12; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1050px) {
 .nav-toggle { display: flex; }
 .nav-menu { position: fixed; top: var(--nav-height); left: 0; right: 0; flex-direction: column; gap: 0; background: var(--color-ivory); padding: 1rem 2rem; max-height: calc(100dvh - var(--nav-height)); overflow-y: auto; visibility: hidden; opacity: 0; transform: translateY(-12px); }
 .nav-menu.active { visibility: visible; opacity: 1; transform: none; }
 .nav-menu li { padding: .65rem 0; text-align: left; }
 .nav-link { display: block; font-size: .85rem; }
}
@media (max-width: 768px) {
 .services-editorial-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2rem; }
 .service-editorial-item { grid-column: 1; display: block; }
 .service-editorial-accent .service-editorial-content { padding: 1.5rem 0; }
 .service-offer .container { display: block; }
 .service-offer ul { grid-template-columns: 1fr; margin-top: 1.5rem; }
 .project-page .project-title { font-size: clamp(2.5rem, 10vw, 4rem); }
 .editorial-pair-asymmetric { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; transform: none !important; scroll-behavior: auto !important; }
 .reveal, .reveal-up, .reveal-left, .reveal-right, .reveal-scale { opacity: 1 !important; }
}
