/* Spacing refinement: preserve TG's palette, type, photo masks and content. */
.gallery-section .carousel .slides{aspect-ratio:var(--gallery-aspect,16/9)!important;transition:aspect-ratio .4s var(--ease)}
.carousel .slides .slide img.render-horizontal{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center}
.project-lead .utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:none;justify-self:end;align-items:stretch}
.project-lead .utility-link{display:flex;justify-content:center;align-items:center;min-width:0;min-height:52px;padding:12px 16px;line-height:1.4;text-align:center;white-space:normal}
.project-lead .utility>:last-child:nth-child(odd){grid-column:1/-1}
.intro.section{padding-block:56px 40px}
.intro .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.intro .stats>div{align-items:flex-start;text-align:left;padding:0 0 0 28px;gap:12px;min-width:0}
.intro .stats>div:first-child{padding-left:0;gap:12px}
.intro .stats>div .stat-project-link{align-items:flex-start;text-align:left;gap:12px}
.intro .stats>div strong,.intro .stats>div:first-child strong{font-size:clamp(28px,3vw,44px);line-height:1.2;letter-spacing:-.05em}
.intro .stats>div span,.intro .stats>div small{max-width:100%;margin:0;min-height:0;justify-content:flex-start}
.principles.section{padding-block:40px 64px}
.principles .principle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.principle-visual-column{min-width:0}
.principle-visual-column .section-heading{margin:0 0 28px;max-width:none}
.principle-visual-column .section-heading h2{font-size:clamp(30px,3.2vw,44px);line-height:1.2;max-width:20ch}
.principle-visual-column .section-heading .eyebrow{margin-bottom:14px}
.principle-visual-column .principle-pictures{width:100%;aspect-ratio:16/9;border-radius:var(--tower-corner) 0 var(--tower-corner) 0;overflow:hidden}
.principles .principle-options{min-width:0}
.principles .principle-options button{padding-block:24px;gap:16px}
.principles .principle-options strong{font-size:20px;line-height:1.35}
.principles .principle-description{font-size:14px;line-height:1.7;margin-top:12px}
body[data-page=about] .about-intro{max-width:var(--content-max);margin-inline:auto;padding-bottom:32px}
body[data-page=about] .about-visual{max-width:var(--content-max);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
body[data-page=about] .about-visual-note{width:auto;max-width:none;align-self:start;padding:0}
body[data-page=about] .about-visual-note>p{font-size:16px;line-height:1.75;margin-top:16px;max-width:44ch}
.blog-grid{align-items:stretch}
.blog-grid>.blog-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--card-label-height,auto) var(--card-title-height,auto) var(--card-description-height,auto) auto;gap:14px;align-content:start;align-items:start}
.blog-grid>.blog-card>img,.blog-grid>.blog-card>picture.render-picture>img{grid-row:1;margin:0;width:100%}
.blog-grid>.blog-card>.eyebrow{grid-row:2;margin:0}
.blog-grid>.blog-card>h3{grid-row:3;margin:0}
.blog-grid>.blog-card>p:not(.eyebrow){grid-row:4;margin:0}
.blog-grid>.blog-card>.text-link{grid-row:5;align-self:end;justify-self:start;margin:0;white-space:nowrap;max-width:100%;min-height:44px}
@media(max-width:991px){
 .principles .principle-layout{grid-template-columns:1fr;gap:28px}
 .principle-visual-column .section-heading h2{max-width:24ch}
 body[data-page=about] .about-visual{grid-template-columns:1fr;gap:28px}
 body[data-page=about] .about-visual-note>p{max-width:60ch}
}
@media(max-width:760px){
 .project-lead .utility{max-width:none;gap:10px}
 .project-lead .utility-link{min-height:48px;padding:12px 10px;font-size:12px}
 .intro.section{padding-block:40px 28px}
 .intro .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .intro .stats>div:first-child{align-items:flex-start;text-align:left;margin:0;padding:0 0 24px;gap:10px}
 .intro .stats>div:nth-child(n+2){align-items:flex-start;text-align:left;padding:0;gap:10px}
 .intro .stats>div:nth-child(n+2) .stat-project-link{align-items:flex-start;gap:10px}
 .intro .stats>div:nth-child(n+2):last-child{padding-left:24px}
 .intro .stats>div strong,.intro .stats>div:first-child strong{font-size:32px}
 .intro .stats>div span{display:block;min-height:0}
 .intro .stats>div small{font-size:11px}
 .principles.section{padding-block:28px 46px}
 .principle-visual-column .section-heading{margin-bottom:24px}
 .principle-visual-column .section-heading h2{font-size:30px;max-width:20ch}
 .principles .principle-options button{padding-block:20px}
 .principles .principle-options strong{font-size:19px}
 body[data-page=about] .about-intro{padding-bottom:24px}
 body[data-page=about] .about-visual{gap:24px}
 .blog-grid>.blog-card{gap:12px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .photo-zoom-target,.photo-zoom-card-image{transition:scale .65s var(--ease);transform-origin:center}
 .photo-zoom-target:hover,.portfolio-card:hover .photo-zoom-card-image,.blog-card:hover .photo-zoom-card-image,.next-project a:hover .photo-zoom-card-image{scale:1.015}
}
@media(prefers-reduced-motion:reduce){
 .photo-zoom-target,.photo-zoom-card-image{scale:1!important;transition:none!important}
 .gallery-section .carousel .slides{transition:none}
}
body[data-page=about] .about-intro h1{max-width:20ch}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .gallery-section .slides.photo-zoom-target{transition:scale .65s var(--ease),aspect-ratio .4s var(--ease)}
}

/* One page grid and one spacing rhythm across the site. */
:root{--content-max:1120px;--project-max:1120px;--article-max:810px;--layout-gap:clamp(24px,4.5vw,64px);--section-space:clamp(48px,5vw,72px)}
.header .brand{min-width:44px;min-height:44px}
.wrap{max-width:var(--content-max)}
.project-intro,.project-nav>.wrap,.concept,.chapter,.facts-section,.next-project,.gallery-section>.wrap{max-width:var(--content-max)}
.project-lead{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
.concept h2{max-width:940px}
.concept>p{max-width:760px}
.chapter,.chapter.reverse,.facts-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
body[data-page=about] .foundation.wrap,body[data-page=about] .relationship.wrap,body[data-page=about] .capabilities>.wrap{max-width:var(--content-max)}
body[data-page=about] .foundation{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
body[data-page=about] .relationship{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
body[data-page=about] .relationship>:is(div,a){display:grid;grid-template-rows:70px var(--relationship-copy-height,auto) auto;gap:16px;padding:28px;min-width:0}
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
.contact-office dl>div{grid-template-columns:104px minmax(0,1fr);gap:24px}
.contact-sales{padding:32px}
.publications>.section-heading>h1{font-size:clamp(40px,4.6vw,64px);line-height:1.12;letter-spacing:-.045em}
html[lang=ka] .publications>.section-heading>h1{font-size:clamp(38px,4.6vw,64px);line-height:1.2}
.publication-grid{gap:32px}
.publication-card{display:grid;grid-template-rows:var(--publication-meta-height,auto) 1fr auto;align-items:start;gap:22px}
.publication-read{white-space:nowrap;align-self:end}

.split-title{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
.page-intro{padding-top:clamp(36px,4.5vw,64px);padding-bottom:32px}
.page-intro h1,.project-intro h1{font-size:clamp(40px,4.6vw,64px);line-height:1.12;letter-spacing:-.045em}
html[lang=ka] .page-intro h1,html[lang=ka] .project-intro h1{font-size:clamp(38px,4.6vw,64px);line-height:1.2}
.section:not(.record-section):not(.approach-section):not(.portfolio-grid):not(.blog-grid){padding-block:var(--section-space)}
.page-intro+.section:is(.portfolio-grid,.blog-grid){padding-top:16px}
.blog-grid:not(.home-blog),.portfolio-grid{column-gap:var(--layout-gap);row-gap:48px}
.home-blog{column-gap:32px;row-gap:40px}
.portfolio-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--portfolio-title-height,auto) var(--portfolio-label-height,auto) auto;gap:16px;align-content:start;align-items:start}
.portfolio-card>img,.portfolio-card>picture.render-picture>img{grid-row:1;margin:0}
.portfolio-card>.card-head{grid-row:2;margin:0;align-items:flex-start}
.portfolio-card>.eyebrow{grid-row:3;margin:0}
.portfolio-card>p:not(.eyebrow){grid-row:4;margin:0}
.tg-story-stage{width:calc(100% - var(--gutter)*2);max-width:var(--content-max);padding-inline:0}
.tg-project-story.is-linked .tg-story-heading{left:0;right:0}
.tg-project-story.is-linked .tg-story-copy{left:0}
.tg-project-story.is-linked .tg-story-media{right:0;width:54%}
@media(max-width:991px){
 .project-lead,.chapter,.chapter.reverse,.facts-section,body[data-page=about] .foundation,body[data-page=about] .relationship,body[data-page=about] .about-visual,.split-title,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
 .chapter.reverse .chapter-copy,.chapter.reverse .chapter-image{grid-column:auto;grid-row:auto}
 .relationship>:is(div,a):first-child{border-right:0;border-bottom:1px solid var(--line)}
 .project-lead .utility{justify-self:start}
}
@media(max-width:760px){
 .page-intro{padding-top:32px;padding-bottom:24px}
 .page-intro h1,.project-intro h1,html[lang=ka] .page-intro h1,html[lang=ka] .project-intro h1{font-size:clamp(34px,8.4vw,42px);line-height:1.2}
 .publications>.section-heading>h1,html[lang=ka] .publications>.section-heading>h1{font-size:clamp(34px,8.4vw,42px);line-height:1.2}
 .project-lead,.chapter,.chapter.reverse,.facts-section,body[data-page=about] .foundation,body[data-page=about] .relationship,body[data-page=about] .about-visual,.split-title,.contact-grid,.publication-grid{gap:24px}
 body[data-page=about] .relationship>:is(div,a),.contact-sales{padding:24px}
 .contact-office dl>div{grid-template-columns:84px minmax(0,1fr);gap:20px}
 .blog-grid:not(.home-blog),.portfolio-grid,.home-blog{row-gap:36px}
 .portfolio-card{gap:14px}
 .tg-project-story.is-mobile-linked .tg-story-heading{left:0;right:0}
 .tg-project-story.is-mobile-linked .tg-story-copy{left:0;width:100%}
 .tg-project-story.is-mobile-linked .tg-story-media{left:50%;right:auto;width:var(--tg-mobile-media-width);max-width:100%}
}
.tg-project-story:not(.is-linked) .tg-story-media,.tg-project-story:not(.is-linked) .tg-story-copy{max-width:none;margin-inline:0}
@media(min-width:992px){
 .tg-project-story:not(.is-linked) .tg-story-chapter{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
 .tg-project-story:not(.is-linked) .tg-story-copy{order:0}
 .tg-project-story:not(.is-linked) .tg-story-media{order:1}
}
/* Large photographs use the complete source proportion; card and scroll canvases retain their shared grid. */
:is(.project-hero,.chapter-image,.about-visual .media,.article-image,.next-project) img.render-horizontal{aspect-ratio:var(--render-aspect,16/9)!important;height:auto!important}

/* Latest Park feedback: the previous landscape view fills the full brand frame. */
.portfolio-card.park-frame-fill>picture.render-picture>img.render-horizontal{object-fit:cover!important;object-position:center;aspect-ratio:16/9!important}
.gallery-section .carousel .slide img[data-render-pair="park-1"]{object-fit:cover!important}

/* Visual review fixes: the accepted Park view fills its story mask too. */
img.render-horizontal[data-render-pair="park-1"],.carousel .slides .slide img.render-horizontal[data-render-pair="park-1"]{object-fit:cover!important}
[data-theme=dark] .project-ribbon-logo img{opacity:1}
@media(max-width:480px){
 .capability-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .capability-grid h3{overflow-wrap:normal;word-break:normal}
}
/* Long translated statuses must remain inside the facts value column. */
.facts-section dd{min-width:0}
.facts-section .project-status{max-width:100%;white-space:normal}
.facts-section .project-status .status-dot{flex-shrink:0}
/* Theme commits must not leave light text on a button's fading light background. */
.project-button{transition:border-color .2s}
