:root { --v3-bg: #fafaf8; --v3-fg: #202020; --v3-muted: #666661; --v3-line: #d8d8d2; --v3-accent: #6d1f2a; color-scheme: light; }
:root[data-theme="dark"] { --v3-bg: #151515; --v3-fg: #f3f3ee; --v3-muted: #b7b7b0; --v3-line: #3c3c39; --v3-accent: #ebaaa5; color-scheme: dark; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { --v3-bg: #151515; --v3-fg: #f3f3ee; --v3-muted: #b7b7b0; --v3-line: #3c3c39; --v3-accent: #ebaaa5; color-scheme: dark; } }
body:has(.v3-page) { background: var(--v3-bg); color: var(--v3-fg); }
.v3-page { background: var(--v3-bg); color: var(--v3-fg); }
.v3-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 3vw; min-height: 84px; background: var(--v3-bg); color: var(--v3-fg); }
.v3-brand { text-transform: uppercase; font-size: 16px; font-weight: 650; line-height: 1.1; letter-spacing: .05em; }
.v3-brand span { font-weight: 400; }
.v3-header nav, .v3-header-actions { display: flex; gap: 28px; align-items: center; }
.v3-header nav a { font-size: 15px; padding-block: 8px; color: var(--v3-muted); }
.v3-header nav a[aria-current] { color: var(--v3-fg); text-decoration: underline; text-underline-offset: 8px; }
.v3-theme { height: 44px; padding: 0 10px; border: 0; border-radius: 0; background: transparent; color: var(--v3-fg); gap: 8px; font-size: 14px; }
.v3-theme:hover { background: transparent; color: var(--v3-accent); }
.v3-inquire { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; border-bottom: 1px solid var(--v3-fg); font-size: 15px; }
.v3-hero { margin: 0; }
.v3-hero-image { width: min(100%, 1440px); margin-inline: auto; padding: 0; border: 0; display: block; cursor: zoom-in; background: transparent; }
.v3-hero-image img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.v3-hero-caption { display: flex; justify-content: space-between; align-items: baseline; padding: 26px 3vw 30px; gap: 30px; }
.v3-hero-caption h1 { margin: 0; font-size: clamp(2.3rem, 4vw, 4rem); }
.v3-hero-caption p { max-width: 45ch; margin: 0; font-size: 16px; color: var(--v3-muted); }
.v3-hero-caption small { font-size: 14px; display: block; margin-top: 12px; color: var(--v3-muted); }
.v3-review { display: flex; align-items: center; gap: 24px; margin: 0 3vw; padding: 20px 0; border-block: 1px solid var(--v3-line); }
.v3-review-stars { white-space: nowrap; color: var(--v3-accent); letter-spacing: .12em; }
.v3-review blockquote { margin: 0; font-size: 16px; }
.v3-review figcaption { font-size: 14px; color: var(--v3-muted); margin-top: 5px; }
.v3-gallery { padding-block: 64px; }
.v3-gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding: 0 3vw 24px; }
.v3-gallery-heading h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); margin: 0; }
.v3-gallery-heading p { font-size: 14px; color: var(--v3-muted); margin: 6px 0 0; }
.v3-collection-label { font-size: 14px; display: block; color: var(--v3-muted); margin-bottom: 5px; }
.v3-collection-select { width: min(350px, 100%); }
.v3-collection-select select { border-radius: 0; border: 1px solid var(--v3-line); color: var(--v3-fg); background: var(--v3-bg); min-height: 48px; font-size: 16px; padding-left: 12px; }
.v3-collection-select svg { color: var(--v3-fg); }
.v3-gallery-stage { width: min(100%, 1320px); margin-inline: auto; }
.v3-gallery-stage.is-portrait { width: min(100%, 620px); }
.v3-slides { margin: 0; }
.v3-slide { padding: 0; }
.v3-photo-button { display: block; width: 100%; border: 0; background: transparent; padding: 0; position: relative; cursor: zoom-in; }
.v3-photo-button img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.is-portrait .v3-photo-button img { aspect-ratio: 4 / 5; }
.v3-expand-hint { position: absolute; bottom: 12px; right: 12px; display: inline-flex; align-items: center; gap: 7px; background: #151515b8; color: white; padding: 6px 10px; font-size: 14px; }
.v3-gallery-controls { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 3vw; color: var(--v3-muted); font-size: 14px; }
.v3-gallery-controls > div { display: flex; gap: 12px; align-items: center; }
.v3-gallery-controls button { position: static; transform: none; margin: 0; border-radius: 0; border: 0; background: transparent; color: var(--v3-fg); width: 48px; height: 48px; }
.v3-gallery-controls button:hover { background: var(--v3-fg); color: var(--v3-bg); }
.v3-gallery-originals { display: flex; justify-content: space-between; gap: 20px; margin: 0 3vw; padding-top: 8px; font-size: 14px; color: var(--v3-muted); }
.v3-text-button { height: auto; min-height: 44px; padding: 0; border-radius: 0; background: transparent; color: var(--v3-fg); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.v3-text-button:hover { background: transparent; color: var(--v3-accent); }
.v3-service-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; padding: 40px 6vw 80px; max-width: 1400px; margin: auto; }
.v3-service-copy h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.15; margin-bottom: 24px; }
.v3-service-copy p { color: var(--v3-muted); font-size: 16px; max-width: 48ch; }
.v3-service-copy ul { margin: 0; padding: 0; list-style: none; }
.v3-service-copy li { padding: 16px 0; border-bottom: 1px solid var(--v3-line); font-size: 16px; }
.v3-final { padding: 64px 3vw; text-align: center; border-top: 1px solid var(--v3-line); }
.v3-final h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin: 0 0 24px; }
.v3-cta { display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 15px 24px; background: var(--v3-fg); color: var(--v3-bg); font-size: 16px; min-height: 52px; }
.v3-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 3vw; color: var(--v3-muted); border-top: 1px solid var(--v3-line); font-size: 14px; }
.v3-footer p { margin: 0; }.v3-footer div { display: flex; gap: 20px; }.v3-footer small { font-size: 13px; }
.v3-lightbox[data-slot="dialog-content"] { position: fixed; inset: 0; transform: none; translate: none; width: 100vw; max-width: none; height: 100dvh; border-radius: 0; padding: 0; gap: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: var(--v3-bg); color: var(--v3-fg); box-shadow: none; }
.v3-lightbox-header, .v3-lightbox-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left)); }
.v3-lightbox-header h2 { font: 500 16px var(--sans); margin: 0; letter-spacing: 0; }
.v3-lightbox-header button, .v3-lightbox-controls button { background: transparent; color: var(--v3-fg); width: 48px; height: 48px; border: 1px solid var(--v3-line); border-radius: 0; }
.v3-lightbox-photo { width: 100%; height: 100%; min-height: 0; object-fit: contain; touch-action: pan-y pinch-zoom; }
.v3-lightbox .sr-only { position: absolute; }
.v3-lightbox-controls { padding-bottom: max(12px, env(safe-area-inset-bottom)); font-size: 14px; }.v3-lightbox-controls > div { display: flex; gap: 12px; }
@media (max-width: 760px) {
  .v3-header { padding: 12px 16px; min-height: 72px; gap: 12px; flex-wrap: wrap; }
  .v3-brand { font-size: 14px; }.v3-header-actions { gap: 12px; }.v3-theme { padding: 0; width: 44px; }.v3-theme span { display: none; }
  .v3-header nav { order: 3; flex-basis: 100%; gap: 24px; justify-content: center; border-top: 1px solid var(--v3-line); padding-top: 4px; }
  .v3-header nav a { font-size: 14px; padding-block: 4px; }
  .v3-hero-image img { aspect-ratio: 3 / 2; height: auto; min-height: 0; }
  .v3-art .v3-hero-image img { aspect-ratio: 4 / 5; }
  .v3-hero-caption { padding: 24px 16px; display: block; }.v3-hero-caption h1 { font-size: 2.2rem; margin-bottom: 16px; }.v3-hero-caption p { font-size: 16px; }
  .v3-review { margin-inline: 16px; gap: 12px; align-items: start; padding-block: 16px; }.v3-review-stars { font-size: 12px; }.v3-review blockquote { font-size: 14px; line-height: 1.5; }.v3-review figcaption { font-size: 13px; }
  .v3-gallery { padding-block: 40px; }.v3-gallery-heading { display: block; padding: 0 16px 18px; }.v3-gallery-heading > div:last-child { margin-top: 20px; }.v3-collection-select { width: 100%; }
  .v3-gallery-controls { padding: 6px 16px; }.v3-gallery-originals { margin-inline: 16px; align-items: center; }.v3-gallery-originals span { max-width: 22ch; font-size: 13px; }
  .v3-service-copy { display: block; padding: 24px 16px 48px; }.v3-service-copy h2 { font-size: 1.8rem; }.v3-service-copy ul { margin-top: 24px; }
  .v3-final { padding: 48px 16px; }.v3-footer { display: block; padding: 24px 16px; }.v3-footer div { margin-block: 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.v3-page *, .v3-lightbox * { transition: none !important; animation: none !important; } }

/* Viewport stages account for the measured sticky header, including mobile wrapping. */
:root { --v3-header-height:84px; }
.v3-header { position:sticky; top:0; z-index:40; }
.v3-menu { position:relative; }
.v3-menu summary { cursor:pointer; list-style:none; min-height:44px; display:flex; align-items:center; gap:10px; }
.v3-menu summary::-webkit-details-marker { display:none; }
.v3-menu > div { position:absolute; top:100%; left:0; width:260px; background:var(--v3-bg); border:1px solid var(--v3-line); box-shadow:0 12px 30px #0002; padding:12px; max-height:calc(100dvh - var(--v3-header-height)); overflow:auto; }
.v3-menu > div a { display:block; padding:10px 12px; }
.v3-menu > div a:hover { background:var(--v3-fg); color:var(--v3-bg); }
.v3-hero { height:calc(100vh - var(--v3-header-height)); height:calc(100dvh - var(--v3-header-height)); min-height:460px; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.v3-hero-image { width:100%; height:100%; min-height:0; overflow:hidden; }
.v3-hero-image img,.v3-art .v3-hero-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.v3-hero-caption { align-items:center; padding:20px 3vw; }
.v3-hero-caption h1 { font-size:clamp(2rem,3.5vw,3.6rem); line-height:1.05; max-width:19ch; }
.v3-hero-caption p.v3-kicker { font-family:var(--sans); font-size:14px; margin-bottom:10px; color:var(--v3-accent); }
.v3-hero-caption .v3-inquire { margin-top:10px; }
.v3-gallery { height:calc(100vh - var(--v3-header-height)); height:calc(100dvh - var(--v3-header-height)); min-height:520px; padding:20px 0 12px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; scroll-margin-top:var(--v3-header-height); }
.v3-gallery-heading { padding-bottom:12px; }
.v3-gallery-heading h2 { font-size:clamp(1.5rem,2.6vw,2.2rem); }
.v3-gallery-stage,.v3-gallery-stage.is-portrait { width:100%; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.v3-gallery-stage [data-slot="carousel-content"] { height:100%; min-height:0; }
.v3-slides,.v3-slide,.v3-photo-button { height:100%; min-height:0; }
.v3-photo-button img,.is-portrait .v3-photo-button img { height:100%; width:100%; aspect-ratio:auto; object-fit:contain; }
.v3-gallery-controls { padding-block:4px; }
.v3-gallery-originals { align-items:center; padding:0; }
.v3-lightbox[data-slot="dialog-content"] { inset:0 !important; top:0 !important; left:0 !important; width:100vw !important; max-width:none !important; height:100vh; height:100dvh; max-height:100dvh; margin:0 !important; transform:none !important; translate:none !important; scale:1 !important; animation:none !important; transition:none !important; overflow:hidden; border:0; z-index:100; grid-template-areas:'head' 'image' 'controls'; grid-template-rows:auto minmax(0,1fr) auto; }
.v3-lightbox-header { grid-area:head; min-width:0; padding-top:max(12px,env(safe-area-inset-top)); }
.v3-lightbox-header h2 { font-family:var(--sans); font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.v3-lightbox-photo { grid-area:image; display:block; max-height:100%; min-width:0; }
.v3-lightbox-controls { grid-area:controls; min-width:0; }
.v3-lightbox-header button,.v3-lightbox-controls button { flex-shrink:0; }
.v3-visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
.v3-choice-grid,.v3-service-grid { padding:60px 3vw; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.v3-choice-grid h2,.v3-service-grid h2 { font-size:2rem; line-height:1.1; }
.v3-service-grid article img { width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:22px; }
.v3-service-grid article p { max-width:55ch; color:var(--v3-muted); }
.v3-questions,.v3-relationship,.v3-prose { max-width:1050px; margin:auto; padding:48px 3vw; }
.v3-inquiry { padding-top:48px; }.v3-inquiry h1 { font-size:clamp(2.5rem,4vw,4rem); line-height:1.05; margin-bottom:24px; }
.v3-questions h2,.v3-relationship h2,.v3-prose h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.1; }
.v3-questions details { border-bottom:1px solid var(--v3-line); padding:20px 0; }
.v3-questions summary { cursor:pointer; font-size:18px; }
.v3-questions details p { margin:20px 0 0; max-width:70ch; }
.v3-questions > a { margin-top:24px; }
.v3-prose p { max-width:70ch; margin-bottom:24px; }
.v3-relationship { border-top:1px solid var(--v3-line); }
.v3-relationship p { color:var(--v3-muted); max-width:62ch; }
.v3-page .inquiry__form { background:var(--v3-bg); color:var(--v3-fg); padding:0; }
.v3-page .inquiry__form input,.v3-page .inquiry__form select,.v3-page .inquiry__form textarea { background:var(--v3-bg); color:var(--v3-fg); border-color:var(--v3-line); }
.v3-page .inquiry-preview { background:var(--v3-bg); color:var(--v3-fg); }
.v3-page .ivan-portrait { min-height:0; height:100%; padding:0; background:var(--v3-bg); display:grid; grid-template-rows:minmax(0,1fr) auto; }
.v3-page .ivan-portrait__frame { height:100%; min-height:0; aspect-ratio:auto; background:var(--v3-bg); }
.v3-page .ivan-portrait__frame video,.v3-page .ivan-portrait__frame img { height:100%; width:100%; object-fit:contain; }
.v3-page .ivan-portrait figcaption { padding:6px 3vw; color:var(--v3-fg); }
.v3-page .ivan-portrait button { color:var(--v3-fg); border-color:var(--v3-line); background:var(--v3-bg); }
@media(max-width:760px){
 .v3-header nav { gap:20px; justify-content:space-between; padding-top:0; }
 .v3-header nav a { min-height:44px; display:flex; align-items:center; }
 .v3-hero { min-height:500px; }
 .v3-hero-caption { padding:18px 16px; }.v3-hero-caption h1 { margin-bottom:14px; font-size:2rem; max-width:none; }
 .v3-hero-caption p { font-size:15px; line-height:1.5; }
 .v3-gallery { padding-top:16px; min-height:540px; }
 .v3-gallery-heading { display:grid; gap:10px; padding:0 16px 12px; }
 .v3-gallery-heading > div:last-child { margin:0; }
 .v3-gallery-heading p { display:none; }
 .v3-gallery-originals > span { display:none; }.v3-gallery-originals { justify-content:flex-end; }
 .v3-lightbox-header h2 { font-size:14px; }.v3-lightbox-controls > span { max-width:50%; font-size:13px; }
 .v3-choice-grid,.v3-service-grid { grid-template-columns:1fr; padding:36px 16px; gap:36px; }
 .v3-questions,.v3-relationship,.v3-prose { padding:36px 16px; }
 .v3-service-copy .v3-cta { margin-top:12px; }
}
@media(max-height:600px){.v3-hero{height:auto;min-height:calc(100dvh - var(--v3-header-height));}.v3-hero-image{height:55vh;}.v3-gallery{height:auto;min-height:calc(100dvh - var(--v3-header-height));}.v3-gallery-stage{height:65vh;}}

/* Keep the next action at the end of the reading path, not across the gutter. */
.v3-service-copy p + p { margin-top:24px; }
.v3-service-copy > div > .v3-cta { margin-top:32px; }
.v3-action-list { display:flex; flex-direction:column; align-items:stretch; }
.v3-action-list > .v3-cta { align-self:flex-end; margin-top:32px; }
.v3-menu-chevron { flex:none; transition:transform .18s ease; }
.v3-menu[open] .v3-menu-chevron { transform:rotate(180deg); }
.v3-journal-grid { gap:64px 48px; scroll-margin-top:var(--v3-header-height); }
.v3-journal-grid article { display:flex; flex-direction:column; gap:22px; min-width:0; }
.v3-journal-grid article h2,.v3-journal-grid article p,.v3-journal-grid article img { margin:0; }
.v3-journal-card-image { display:block; overflow:hidden; }
.v3-journal-grid article img { aspect-ratio:3/2; object-fit:cover; }
.v3-journal-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; margin-top:auto; }
.v3-journal-feature { height:calc(100vh - var(--v3-header-height)); height:calc(100dvh - var(--v3-header-height)); min-height:500px; }
.v3-journal-carousel { height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.v3-journal-carousel [data-slot="carousel-content"],.v3-journal-slides { height:100%; min-height:0; }
.v3-journal-slides { margin:0; }
.v3-journal-slide { padding:0; height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.v3-journal-feature-image { height:100%; min-height:0; display:block; }
.v3-journal-feature-image img { width:100%; height:100%; object-fit:cover; }
.v3-journal-slide .v3-hero-caption h2 { font-size:clamp(2rem,3.5vw,3.6rem); line-height:1.08; max-width:22ch; margin:0; }
.v3-journal-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 3vw 16px; }
.v3-journal-controls h1 { font-family:var(--sans); font-size:14px; letter-spacing:0; line-height:1.4; color:var(--v3-muted); margin:0; }
.v3-journal-controls > div { display:flex; align-items:center; gap:12px; }
.v3-journal-controls span { font-size:14px; white-space:nowrap; }
.v3-journal-controls button { position:static; transform:none; inset:auto; margin:0; width:48px; height:48px; border-radius:0; background:var(--v3-bg); color:var(--v3-fg); border:1px solid var(--v3-line); }
.v3-journal-controls button:hover { background:var(--v3-fg); color:var(--v3-bg); }
.v3-journal-controls svg { width:20px; height:20px; }
.v3-article-intro { max-width:1000px; margin:auto; padding:48px 24px 40px; }
.v3-article-intro .v3-kicker { margin:36px 0 20px; color:var(--v3-accent); font-size:14px; }
.v3-article-intro h1 { font-size:clamp(2.4rem,5vw,4.5rem); line-height:1.07; margin:0 0 28px; }
.v3-article-deck { font-size:20px; line-height:1.6; max-width:60ch; margin:0 0 28px; }
.v3-article-meta { font-size:14px; color:var(--v3-muted); }
.v3-article-cover { margin:0 auto 48px; max-width:1280px; }
.v3-article-cover img { width:100%; max-height:75vh; object-fit:contain; }
.v3-article-body,.v3-article-note,.v3-article-end { width:min(760px,calc(100% - 48px)); margin-inline:auto; }
.v3-article-body { font-size:18px; line-height:1.85; overflow-wrap:anywhere; }
.v3-article-body p { margin:0 0 30px; }
.v3-article-body h2 { font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.15; margin:64px 0 28px; }
.v3-article-body h3 { font-size:1.6rem; line-height:1.2; margin:44px 0 24px; }
.v3-article-body ul { list-style:disc; padding-left:24px; margin:0 0 28px; }
.v3-article-body figure { margin:42px 0; }
.v3-article-body img { width:100%; max-height:85vh; object-fit:contain; }
.v3-article-note { padding:24px; border-block:1px solid var(--v3-line); margin-bottom:44px; color:var(--v3-muted); font-size:15px; }
.v3-article-note a { display:block; margin-top:16px; text-decoration:underline; text-underline-offset:4px; }
.v3-article-end { padding:36px 0 64px; margin-top:48px; border-top:1px solid var(--v3-line); }
.v3-article-end > p { color:var(--v3-muted); font-size:14px; }
.v3-article-end .v3-journal-card-actions { margin-top:36px; justify-content:space-between; }
@media(max-width:760px){
 .v3-action-list > .v3-cta { margin-top:28px; }
 .v3-journal-grid { gap:48px; }
 .v3-journal-grid article { gap:22px; }
 .v3-journal-slide .v3-hero-caption h2 { font-size:2rem; margin-bottom:18px; }
 .v3-journal-controls { padding:0 16px 16px; gap:12px; }
 .v3-journal-controls h1 { max-width:16ch; }
 .v3-journal-controls > div { gap:8px; }
 .v3-article-intro { padding:32px 16px; }
 .v3-article-body,.v3-article-note,.v3-article-end { width:calc(100% - 32px); }
 .v3-article-body { font-size:17px; line-height:1.8; }
 .v3-article-deck { font-size:18px; }
}
@media(max-height:600px){.v3-journal-feature { height:auto; }.v3-journal-slide { grid-template-rows:55vh auto; }}

/* Optional crawlable collections supplement, rather than replace, the viewport viewer. */
.v3-collection-index { padding:24px 3vw; border-bottom:1px solid var(--v3-line); }
.v3-collection-index summary { cursor:pointer; padding:12px 0; }
.v3-collection-index details > div { display:flex; flex-wrap:wrap; gap:24px 32px; padding:24px 0; }
.v3-collection-intro { padding:48px 3vw 40px; max-width:1100px; }
.v3-collection-intro h1 { font-size:clamp(2.3rem,5vw,4.4rem); line-height:1.1; margin:32px 0 24px; }
.v3-collection-intro p { max-width:65ch; color:var(--v3-muted); }
.v3-collection-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.v3-collection-photos button { position:relative; padding:0; overflow:hidden; cursor:zoom-in; background:transparent; }
.v3-collection-photos img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.v3-collection-photos span { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; padding:6px 10px; background:var(--v3-bg); color:var(--v3-fg); font-size:12px; }
.v3-related-guides { padding:56px 6vw; border-top:1px solid var(--v3-line); }
.v3-related-guides > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:40px; margin-top:32px; }
.v3-related-guides h3 { font-size:1.7rem; line-height:1.2; }
.v3-related-guides p { margin:24px 0; color:var(--v3-muted); max-width:55ch; }
.v3-guide-next-step { width:min(760px,calc(100% - 48px)); margin:0 auto 48px; border-block:1px solid var(--v3-line); padding:28px 0; }
.v3-guide-next-step p { margin:0 0 28px; line-height:1.7; }
.v3-guide-next-step > div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; }
.v3-gallery-originals > a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:760px){
 .v3-collection-photos { grid-template-columns:1fr; gap:8px; }
 .v3-collection-intro,.v3-collection-index { padding-inline:16px; }
 .v3-guide-next-step { width:calc(100% - 32px); }
 .v3-guide-next-step .v3-cta { margin-left:auto; }
 .v3-related-guides { padding:40px 16px; }
 .v3-gallery-originals { flex-wrap:wrap; gap:8px; }
}
