/* A single layout system, replacing the previous three-layer cascade. */
:root {
  color-scheme: light;
  --color-bg:#f5f1ea; --color-surface:#f5f1ea; --color-surface-alt:#eee9e1;
  --color-text:#2c2520; --color-text-muted:#5d554d; --color-primary:#8b4220; --color-divider:#d5cec4;
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-reading:"EB Garamond",Georgia,serif; --font-body:Manrope,Arial,sans-serif;
  --type-hero:clamp(3.5rem,1.2rem + 7.3vw,8rem);
  --type-title:clamp(2.5rem,1.5rem + 2vw,3.25rem);
  --type-card:clamp(1.5rem,1.25rem + .5vw,1.875rem);
  --type-reading:1.375rem;
  --type-body:1.0625rem; --type-small:.875rem; --type-label:.75rem;
  --gutter:clamp(1.25rem,4.5vw,5rem); --section-space:clamp(4rem,6.7vw,6rem);
  --column-gap:clamp(2rem,5vw,5rem);
  --space-4:1rem; --space-6:1.5rem; --space-8:2rem; --space-12:3rem; --space-16:4rem; --space-24:6rem;
}
[data-theme="dark"] { color-scheme:dark; --color-bg:#2c2520; --color-surface:#2c2520; --color-surface-alt:#352e28; --color-text:#f5f1ea; --color-text-muted:#d1c7ba; --color-primary:#e8d5b0; --color-divider:#64584c; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; background:var(--color-bg); color:var(--color-text); font:400 var(--type-body)/1.65 var(--font-body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure,ul,ol { margin:0; }
h1,h2,h3,h4 { font-weight:400; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; border:0; background:transparent; cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--color-primary); outline-offset:5px; }
::selection { background:#d5c4ad; color:#2c2520; }
.container,.site-header__inner,.tale { width:calc(100% - 2*var(--gutter)); max-width:1280px; margin-inline:auto; }
section { padding-block:var(--section-space); }
main>section:not(.hero):not(.cover-pair) { border-top:1px solid var(--color-divider); }
.sr-only,.hm-skip { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hm-skip:focus { clip-path:none; width:auto; height:auto; top:1rem; left:1rem; z-index:200; padding:.75rem 1rem; background:var(--color-bg); }
.site-header { position:fixed; inset:0 0 auto; z-index:50; background:var(--color-bg); border-bottom:1px solid var(--color-divider); }
.site-header__inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand { display:inline-flex; align-items:center; min-height:44px; }
.brand__name { font-family:var(--font-display); font-size:1.0625rem; letter-spacing:.24em; text-transform:uppercase; white-space:nowrap; }
.nav,.nav__list,.nav__tools,.lang-toggle { display:flex; align-items:center; }
.nav { gap:2rem; }
.nav__list { list-style:none; gap:1.5rem; }
.nav__list a,.lang-toggle a { display:inline-flex; align-items:center; min-height:44px; font-size:var(--type-small); }
.nav__list a { color:var(--color-text-muted); }
.nav__list a:hover,.lang-toggle .is-active { color:var(--color-primary); }
.nav__tools { gap:1rem; }
.lang-toggle { gap:.5rem; font-size:var(--type-label); }
.lang-toggle a { min-width:26px; justify-content:center; }
.lang-toggle__sep { color:var(--color-text-muted); }
.theme-toggle,.menu-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; }
.menu-toggle { display:none; }
.hero { padding:128px 0 40px; }
.hero__content { text-align:center; }
.hero__eyebrow { display:block; color:var(--color-primary); font-size:var(--type-label); letter-spacing:.12em; text-transform:uppercase; margin-bottom:24px; }
.hero__title { font:300 var(--type-hero)/1.02 var(--font-display); letter-spacing:-.035em; }
.hero__lede { max-width:780px; margin:24px auto 0; font-size:var(--type-body); line-height:1.7; color:var(--color-text-muted); }
.hm-actions { display:flex; justify-content:center; align-items:center; gap:32px; margin-top:24px; }
.hm-button,.btn { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:48px; padding:10px 22px; border:1px solid var(--color-primary); font-size:var(--type-small); color:var(--color-primary); }
.hm-button:hover,.btn:hover { background:var(--color-primary); color:var(--color-bg); }
.hm-link { display:inline-flex; align-items:center; gap:28px; min-height:48px; font-size:var(--type-small); }
.hm-link:hover { color:var(--color-primary); }
.cover-pair { padding:0 0 var(--section-space); border:0; }
.cover-pair__grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:1000px; margin-inline:auto; }
.cover-pair figure { min-width:0; }
.cover-pair a { display:block; }
.cover-pair img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.cover-pair__landscape img { object-position:center 72%; }
.cover-pair__portrait img { object-position:center 55%; }
.cover-pair figcaption { margin-top:16px; font-size:.8125rem; line-height:1.6; color:var(--color-text-muted); }
.cover-pair figcaption span { display:block; }
.cover-pair figcaption span:first-child { color:var(--color-text); }
.section-head { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--column-gap); align-items:start; margin-bottom:40px; }
.section-head>* { min-width:0; }
.section-head__eyebrow { display:block; color:var(--color-primary); font-size:var(--type-label); line-height:1.5; letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px; }
.section-head__title { font:400 var(--type-title)/1.08 var(--font-display); letter-spacing:-.02em; max-width:24ch; text-wrap:pretty; }
.section-head__col-right { font:400 var(--type-reading)/1.45 var(--font-reading); padding-top:38px; color:var(--color-text-muted); max-width:54ch; }
.section-lead,.section-note { font:400 var(--type-reading)/1.4 var(--font-reading); color:var(--color-text-muted); max-width:66ch; }
.section-lead { margin:0 0 40px; }
.section-note { margin-top:36px; }
.typology-grid { display:grid; gap:32px; }
.typology-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.typology-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
.typology-card { min-width:0; border-top:1px solid var(--color-divider); padding-top:24px; }
.typology-card__num { display:block; color:var(--color-primary); font:400 var(--type-label)/1.5 var(--font-body); margin-bottom:14px; }
.typology-card__title { font:400 var(--type-card)/1.12 var(--font-display); margin-bottom:14px; }
.typology-card__desc { color:var(--color-text-muted); font:400 var(--type-body)/1.65 var(--font-body); }
.typology-card__example { margin-top:28px; font-size:var(--type-small); color:var(--color-text-muted); }
.typology-card__example span { display:block; color:var(--color-primary); font-size:var(--type-label); margin-bottom:8px; }
.about-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--column-gap); align-items:start; }
.about-portrait { width:100%; max-width:390px; }
.about-portrait img { width:100%; aspect-ratio:534/794; object-fit:contain; object-position:left top; }
.about-block+.about-block { margin-top:28px; }
.about-block__title { font-size:var(--type-body); font-weight:500; margin-bottom:12px; line-height:1.5; }
.about-block p,.about-more__body p { font:400 var(--type-body)/1.7 var(--font-body); color:var(--color-text-muted); max-width:64ch; }
.about-block a { text-decoration:underline; text-decoration-color:var(--color-divider); text-underline-offset:4px; }
.about-more { border-top:1px solid var(--color-divider); margin-top:32px; }
.about-more summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; min-height:64px; font-size:var(--type-small); list-style:none; }
.about-more summary::-webkit-details-marker { display:none; }
.about-more summary::after { content:"+"; color:var(--color-primary); font-size:1.25rem; }
.about-more[open] summary::after { content:"−"; }
.about-more__body { padding-bottom:16px; }
.about-more__body p+p { margin-top:20px; }
.timeline { margin-top:32px; }
.timeline__item { display:grid; grid-template-columns:80px 1fr; gap:24px; padding-block:16px; border-top:1px solid var(--color-divider); }
.timeline__year { font-family:var(--font-reading); font-size:1.25rem; color:var(--color-primary); }
.timeline__text { font-size:var(--type-small); line-height:1.6; color:var(--color-text-muted); }
.method-layout { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:var(--column-gap); align-items:start; }
.method-steps>.typology-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.method-steps .typology-card { display:grid; grid-template-columns:32px 1fr; column-gap:16px; align-content:start; padding-top:20px; }
.method-steps .typology-card__num { grid-row:span 2; padding-top:3px; }
.method-steps .typology-card__title { font:500 var(--type-body)/1.4 var(--font-body); margin-bottom:12px; }
.method-steps .typology-card__desc { font-size:var(--type-body); line-height:1.6; }
.method-object { max-width:320px; justify-self:end; }
.method-object img { width:100%; max-height:410px; object-fit:contain; }
.method-object figcaption { margin-top:16px; max-width:32ch; font-size:var(--type-small); color:var(--color-text-muted); }
.portfolio-grid,.project-card { display:block; }
.project-card__media { overflow:hidden; }
.project-card__media img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .5s ease; }
.project-card:hover .project-card__media img { transform:scale(1.015); }
.project-card__body { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 32px; align-items:baseline; margin-top:20px; }
.project-card__title { font:400 1.5rem/1.25 var(--font-display); }
.project-card__meta,.project-card__desc { font-size:var(--type-small); color:var(--color-text-muted); line-height:1.6; }
.project-card__desc { margin-top:8px; max-width:70ch; }
.project-card--portrait { max-width:440px; margin-inline:auto; }
.project-card--portrait .project-card__media img { aspect-ratio:auto; object-fit:contain; }
.project-card--portrait .project-card__body { display:block; }
.project-card--portrait .project-card__meta { display:block; margin-top:8px; }
.project-card--sketch { max-width:1100px; margin-inline:auto; }
.project-card--sketch .project-card__media img { height:auto; aspect-ratio:auto; object-fit:contain; }
.worlds { margin-top:48px; }
.worlds .typology-card { padding-top:0; border-top:0; }
.world-image { margin-bottom:20px; }
.world-image img { width:100%; aspect-ratio:5/3; object-fit:cover; }
.world-image figcaption { margin-top:12px; font-size:var(--type-small); line-height:1.55; color:var(--color-text-muted); }
.worlds .typology-card__num { display:inline; margin-right:10px; }
.worlds .typology-card__title { display:inline; font-size:1.625rem; }
.worlds .typology-card__desc { margin-top:8px; font-size:1rem; }
.timeline--row { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
.timeline--row .timeline__item { display:flex; flex-direction:column; gap:4px; padding-top:16px; }
.thermal-feature .section-head__col-right { max-width:64ch; font:400 var(--type-body)/1.7 var(--font-body); }
.thermal-feature .typology-grid { margin-top:16px; }
.project-meta-line { display:block; font-size:var(--type-small); color:var(--color-text-muted); margin-top:20px; }
.les-feature .section-head__col-right { font:400 var(--type-body)/1.7 var(--font-body); }
.traces__lede { font:400 var(--type-reading)/1.4 var(--font-reading); max-width:36ch; }
.traces__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.traces__grid img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.traces__grid figcaption { font-size:var(--type-small); line-height:1.55; color:var(--color-text-muted); margin-top:12px; }
.services12 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--column-gap); padding:0; list-style:none; }
.services12__item { display:grid; grid-template-columns:28px 1fr; gap:16px; padding:24px 0 28px; border-top:1px solid var(--color-divider); list-style:none; }
.services12__num { padding-top:5px; font-size:var(--type-label); color:var(--color-primary); }
.services12__title { font:500 1.125rem/1.45 var(--font-body); margin-bottom:8px; }
.services12__desc { font-size:var(--type-body); line-height:1.65; color:var(--color-text-muted); }
#process .typology-grid { row-gap:40px; }
#process .typology-card__title { font-size:1.625rem; }
.contact-info { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:32px; padding-top:32px; border-top:1px solid var(--color-divider); }
.contact-info__item { display:flex; flex-direction:column; gap:12px; }
.contact-info__label { font-size:var(--type-label); color:var(--color-text-muted); letter-spacing:.1em; text-transform:uppercase; }
.contact-info__value { font-family:var(--font-reading); font-size:clamp(1.125rem,1.5vw,1.5rem); }
.contact-info__value a { white-space:nowrap; }
.contact-info__item:last-child .contact-info__value { font:400 var(--type-body)/1.65 var(--font-body); max-width:34ch; }
.contact-info__value a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer { border-top:1px solid var(--color-divider); padding:48px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .85fr 1.4fr; gap:40px; }
.footer-block h4,.footer-heading { font:500 var(--type-label)/1.5 var(--font-body); color:var(--color-primary); letter-spacing:.07em; text-transform:uppercase; margin-bottom:20px; }
.footer-block { font-size:.8125rem; line-height:1.75; color:var(--color-text-muted); }
.footer-block ul { padding:0; list-style:none; }
.footer-block li+li { margin-top:8px; }
.footer-block a:hover { color:var(--color-primary); }
.footer-quote { font:400 1.25rem/1.35 var(--font-reading); max-width:24ch; }
.footer-legal { display:flex; justify-content:space-between; gap:48px; padding-top:24px; margin-top:40px; border-top:1px solid var(--color-divider); font-size:var(--type-label); color:var(--color-text-muted); }
.footer-legal>* { max-width:50ch; }
.project-hero { display:grid; grid-template-columns:5fr 7fr; column-gap:var(--column-gap); padding-block:144px 64px; }
.project-hero__meta { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 24px; font-size:var(--type-label); color:var(--color-primary); letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px; }
.project-hero__title { font:300 var(--type-title)/1.06 var(--font-display); letter-spacing:-.025em; }
.project-hero__lede { font:400 var(--type-reading)/1.4 var(--font-reading); color:var(--color-text-muted); }
.project-hero__credit { grid-column:1/-1; margin-top:24px; color:var(--color-text-muted); font-size:var(--type-small); }
.project-section { padding-block:80px; }
.project-two-col { display:grid; grid-template-columns:5fr 7fr; gap:var(--column-gap); }
.project-section__eyebrow { display:block; font-size:var(--type-label); letter-spacing:.1em; color:var(--color-primary); margin-bottom:20px; text-transform:uppercase; }
.project-section__title { font:400 2.75rem/1.1 var(--font-display); max-width:20ch; }
.project-section__prose { font:400 var(--type-body)/1.75 var(--font-body); color:var(--color-text-muted); min-width:0; max-width:64ch; }
.project-section__prose p+p { margin-top:24px; }
.project-section__prose strong { font-weight:600; color:var(--color-text); }
.project-services-grid,.proj-svc-grid { display:grid; grid-template-columns:1fr; gap:32px; margin-top:40px; }
.proj-svc { border-top:1px solid var(--color-divider); padding-top:20px; font:400 1rem/1.6 var(--font-body); }
.proj-svc__num { color:var(--color-primary); font-size:var(--type-label); text-transform:uppercase; margin-bottom:16px; }
.proj-svc__title { font:400 1.75rem/1.15 var(--font-display); color:var(--color-text); margin-bottom:16px; }
.proj-svc ul { padding-left:18px; }
.proj-svc li+li { margin-top:8px; }
.tale+.tale { margin-top:48px; }
.tale__epigraph { max-width:60ch; margin:0 auto 40px; text-align:center; font:400 var(--type-reading)/1.4 var(--font-reading); }
.tale-figure--hero { display:flex; justify-content:center; align-items:end; gap:32px; }
.tale-figure--hero img { width:auto; max-width:calc(100% - 252px); height:clamp(420px,48vw,690px); object-fit:contain; }
.tale-figure--hero figcaption { width:220px; flex-shrink:0; }
.tale-figure__caption,.tale-exhale__caption { font:400 var(--type-small)/1.65 var(--font-body); color:var(--color-text-muted); margin-top:16px; }
.tale-figure__caption strong { display:block; font-weight:500; color:var(--color-text); }
.tale-diptych { display:grid; grid-template-columns:var(--photo-columns,1fr 1fr); gap:32px; align-items:start; }
.tale-diptych img { width:100%; height:auto; }
.tale-single img { width:100%; height:auto; }
.tale-single--portrait { max-width:560px; margin-inline:auto; }
.tale-single--detail { max-width:680px; margin-inline:auto; }
.project-image-full { width:calc(100% - 2*var(--gutter)); max-width:1280px; margin-inline:auto; }
.project-image-full picture { display:flex; justify-content:center; }
.project-image-full img { width:auto; height:clamp(420px,48vw,690px); max-width:100%; object-fit:contain; }
.project-gallery { display:grid; grid-template-columns:var(--photo-columns,1fr 1fr); gap:32px; margin-block:48px; align-items:start; }
.gallery-item { min-width:0; margin:0; }
.gallery-item img { width:100%; height:auto; }
.tale-detail { max-width:900px; margin:48px auto 0; display:flex; justify-content:center; gap:32px; align-items:end; }
.tale-detail img { width:auto; max-width:calc(100% - 212px); height:clamp(360px,40vw,540px); object-fit:contain; }
.tale-detail figcaption { width:180px; flex-shrink:0; }
.tale-wide { margin-top:48px; }
.tale-wide img { width:100%; }
.tale-exhale { width:calc(100% - 2*var(--gutter)); max-width:1280px; margin:64px auto; }
.tale-exhale img { width:100%; max-height:620px; object-fit:cover; }
.project-cta { padding-block:80px; }
.project-cta h2 { font:300 var(--type-title)/1.06 var(--font-display); max-width:24ch; }
.project-cta p { max-width:60ch; font:400 var(--type-reading)/1.4 var(--font-reading); margin:24px 0; }
.legal { padding-block:140px 80px; }
.legal__title { font:300 var(--type-title)/1.08 var(--font-display); max-width:24ch; overflow-wrap:break-word; }
.legal__updated { margin-top:24px; font-size:var(--type-small); color:var(--color-text-muted); }
.legal__body { max-width:76ch; margin-top:48px; }
.legal__body h2 { font:400 2rem/1.15 var(--font-display); margin:40px 0 20px; }
.legal__body h3 { margin:32px 0 16px; font-size:1.25rem; }
.legal__body p+p { margin-top:16px; }
.legal__body ul,.legal__body ol { padding-left:24px; margin-block:16px; }
.legal__body a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.requisites-list { display:grid; grid-template-columns:180px minmax(0,1fr); gap:0 32px; margin:0; max-width:850px; }
.requisites-list dt,.requisites-list dd { margin:0; padding:20px 0; border-top:1px solid var(--color-divider); }
.requisites-list dt { color:var(--color-text-muted); font-size:var(--type-small); }
.requisites-list dd { overflow-wrap:anywhere; }
.footer-requisites a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.cookie-banner { display:none; }
.cookie-banner.is-visible { display:block; position:fixed; bottom:16px; left:var(--gutter); right:var(--gutter); z-index:100; padding:24px; background:var(--color-bg); border:1px solid var(--color-divider); }
@media(min-width:1101px) {
  .project-services-grid { grid-template-columns:1fr; }
}
@media(max-width:1100px) {
  .nav { gap:16px; } .nav__list { gap:16px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:960px) {
  .menu-toggle { display:inline-flex; }
  .nav__list { display:none; position:absolute; top:76px; left:0; right:0; background:var(--color-bg); border-bottom:1px solid var(--color-divider); padding:16px var(--gutter) 24px; }
  .nav.is-open .nav__list { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .nav__list a { width:100%; min-height:52px; font-size:1rem; }
  .section-head,.about-grid,.project-two-col,.project-hero { gap:32px; }
  .method-layout { grid-template-columns:minmax(0,1fr) 220px; gap:32px; }
  .method-steps>.typology-grid { grid-template-columns:1fr; gap:24px; }
  .services12 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
  .contact-info { grid-template-columns:1fr 1fr; }
  .contact-info__item:first-child { grid-column:1/-1; }
  .tale-figure--hero,.tale-detail { gap:24px; }
  .tale-figure--hero img,.tale-detail img { max-width:calc(100% - 194px); }
  .tale-figure--hero figcaption,.tale-detail figcaption { width:170px; }
}
@media(max-width:700px) {
  :root { --section-space:56px; --type-title:2.5rem; --gutter:20px; --type-body:1rem; }
  html { scroll-padding-top:88px; }
  .site-header__inner { min-height:68px; gap:12px; }
  .brand__name { font-size:.9375rem; letter-spacing:.18em; }
  .nav__tools { gap:4px; } .lang-toggle { gap:2px; }
  .theme-toggle,.menu-toggle { width:40px; }
  .nav__list { top:68px; }
  .hero { padding:112px 0 32px; }
  .hero__eyebrow { max-width:28ch; margin:0 auto 24px; font-size:.75rem; }
  .hero__title { font-size:clamp(3.5rem,11vw,5.5rem); max-width:12ch; margin:auto; }
  .hero__lede { margin-top:24px; font-size:1rem; line-height:1.65; }
  .hm-actions { gap:20px; margin-top:24px; }
  .hm-button,.btn { padding:10px 16px; gap:20px; }
  .cover-pair__grid { grid-template-columns:1fr 1fr; gap:16px; }
  .cover-pair__landscape img,.cover-pair__portrait img { height:auto; aspect-ratio:3/4; }
  .cover-pair__portrait { display:block; }
  .cover-pair figcaption { font-size:.75rem; }
  .section-head { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
  .section-head__eyebrow { margin-bottom:16px; }
  .section-head__col-right { padding-top:0; max-width:none; }
  .typology-grid--3,.typology-grid--2 { grid-template-columns:1fr; gap:28px; }
  .section-lead { margin-bottom:32px; }
  .about-grid { grid-template-columns:1fr; gap:32px; }
  .about-portrait { max-width:260px; }
  .method-layout { grid-template-columns:1fr; gap:32px; }
  .method-object { max-width:260px; justify-self:center; }
  .method-object img { max-height:340px; }
  .method-steps .typology-card__desc { font-size:1rem; }
  .project-card__media img { aspect-ratio:4/3; }
  .project-card__body { gap:8px; }
  .worlds { margin-top:32px; }
  .worlds .typology-card__desc { font-size:1rem; }
  .timeline--row { gap:16px; }
  .timeline--row .timeline__year { font-size:1.125rem; }
  .timeline--row .timeline__text { font-size:.75rem; }
  .traces__grid { grid-template-columns:1fr 1fr; gap:24px 16px; }
  .services12 { grid-template-columns:1fr; padding:0; }
  .services12__desc { font-size:1rem; }
  .contact-info { grid-template-columns:1fr; gap:24px; }
  .footer-grid { gap:32px 24px; }
  .footer-block:first-child,.footer-block:last-child { grid-column:1/-1; }
  .footer-legal { flex-direction:column; gap:16px; }
  .project-hero { grid-template-columns:1fr; padding:112px 0 48px; gap:24px; }
  .project-hero__meta { margin-bottom:0; }
  .project-hero__credit { margin-top:0; }
  .project-two-col { grid-template-columns:1fr; gap:24px; }
  .project-section { padding-block:56px; }
  .project-section__title { font-size:2.5rem; }
  .project-services-grid { grid-template-columns:1fr; }
  .tale__epigraph { text-align:left; margin-bottom:32px; }
  .tale-figure--hero,.tale-detail { display:grid; grid-template-columns:1fr; gap:0; }
  .tale-figure--hero img,.tale-detail img { width:100%; max-width:100%; height:auto; max-height:none; }
  .tale-figure--hero figcaption,.tale-detail figcaption { width:auto; }
  .tale-diptych { grid-template-columns:1fr; gap:32px; }
  .project-gallery { grid-template-columns:1fr; gap:32px; margin-block:32px; }
  .project-image-full img { width:100%; height:auto; max-height:none; }
  .tale-diptych img { aspect-ratio:auto; max-height:none; }
  .tale-detail,.tale-wide { margin-top:32px; }
  .tale-exhale { margin-block:48px; }
  .project-cta { padding-block:56px; }
  .legal { padding-block:112px 56px; }
  .legal__title { font-size:2.5rem; }
  .requisites-list { grid-template-columns:1fr; }
  .requisites-list dt { padding:20px 0 0; }
  .requisites-list dd { border:0; padding:8px 0 20px; }
}
@media(max-width:360px) {
  :root { --type-title:2.375rem; }
  .section-head__title { letter-spacing:-.03em; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}

.cover-pair--single .cover-pair__grid { grid-template-columns:minmax(0,1fr); max-width:1200px; }
.cover-pair--single .cover-pair__landscape img { aspect-ratio:auto; height:auto; object-fit:contain; }
.cover-pair--single figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 32px; }
.tale-figure--landscape { display:block; }
.tale-figure--landscape img { display:block; width:100%; max-width:100%; height:auto; }
.tale-figure--landscape figcaption { width:auto; }
.project-image-full--landscape img { width:100%; height:auto; max-height:none; }
.scenario-gallery { margin-top:48px; }
.scenario-gallery .tale-figure img { width:100%; height:auto; }
