:root{--ink:#142636;--text:#48545e;--muted:#71808a;--line:#dce1e4;--paper:#fff;--soft:#f4f5f6;--navy:#192f43;--ease:cubic-bezier(.2,.7,.2,1);--gutter:clamp(22px,4.5vw,80px);--header:80px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}html[lang=ka] body{font-family:"Noto Sans Georgian",Inter,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.055em;text-wrap:balance}h1{font-size:clamp(48px,6.2vw,94px)}h2{font-size:clamp(36px,4.2vw,64px)}h3{font-size:clamp(24px,2.35vw,36px)}p{color:var(--text)}[hidden]{display:none!important}:focus-visible{outline:2px solid #468ec5;outline-offset:6px}.wrap{width:calc(100% - var(--gutter)*2);max-width:1400px;margin-inline:auto;min-width:0}.section{padding-block:120px}.lead{font-size:clamp(18px,1.45vw,22px);line-height:1.65}.narrow{max-width:680px}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.6;font-weight:500;color:var(--muted);margin-bottom:22px}html[lang=ka] .eyebrow{letter-spacing:.04em}h2+p,h3+p{margin-top:26px}.section-heading{margin-bottom:54px}.section-heading>p.lead{margin-top:26px}.row{display:flex;align-items:end;justify-content:space-between;gap:40px}.row>.text-link{flex-shrink:0}.button,.text-link,.utility-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4;font-size:14px;font-weight:500;min-height:46px}.button{background:var(--ink);color:#fff;padding:14px 24px;border-radius:30px;transition:background .25s,transform .25s}.button:hover{background:#33556f;transform:translateY(-2px)}.button.light{background:white;color:var(--ink)}.text-link{justify-content:start;border-bottom:1px solid var(--line);transition:gap .25s;padding:8px 0}.text-link:hover{gap:20px}.text-link span,.button span{font-size:18px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:-90px;left:20px;z-index:300;background:white;padding:12px}.skip:focus{top:10px}
/* One responsive navigation and one content tree across all devices. */
.header{height:var(--header);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;flex:none}.brand img{width:29px;height:38px;object-fit:contain}.brand span{font-size:18px;letter-spacing:-.05em;font-weight:550;white-space:nowrap}.desktop-links{display:flex;gap:30px;font-size:13px}.desktop-links a{position:relative;padding:9px 0}.desktop-links a:after{position:absolute;content:"";height:1px;background:currentColor;left:0;right:100%;bottom:2px;transition:right .25s}.desktop-links a:hover:after,.desktop-links a[aria-current]:after{right:0}.nav-tools{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:4px}.languages a{display:grid;place-items:center;font-size:10px;min-width:29px;min-height:38px;color:var(--muted)}.languages a[aria-current]{color:var(--ink);box-shadow:inset 0 -1px var(--ink)}.nav-contact{font-size:12px;white-space:nowrap}.menu-button{display:none;background:transparent;min-height:44px;gap:18px;align-items:center}.menu-button span{font-size:22px}.mobile-menu{position:fixed;inset:var(--header) 0 0;background:#fff;z-index:90;padding:36px var(--gutter);display:flex;flex-direction:column;justify-content:space-between;overflow:auto}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:34px;letter-spacing:-.04em;padding:15px 0;border-bottom:1px solid var(--line)}.menu-bottom{padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.menu-bottom .languages a{min-width:42px;min-height:44px;font-size:13px}.scroll-line{position:fixed;left:0;top:0;height:2px;z-index:120;background:var(--ink);width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}
/* Photography retains its natural composition throughout. */
.media{margin:0}.media img{width:100%;height:auto;object-fit:contain}.media figcaption{font-size:11px;color:var(--muted);padding-top:12px}.home-hero{display:grid;grid-template-columns:.87fr 1.3fr;gap:clamp(36px,5vw,90px);align-items:center;padding-block:78px 40px}.hero-copy h1{font-size:clamp(46px,4.5vw,68px);max-width:560px}.hero-copy .lead{font-size:17px;max-width:470px;margin-block:26px 32px}.hero-visual{min-width:0}.hero-caption{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:12px;margin-top:12px}.hero-caption .text-link{font-size:12px;min-height:36px}.recognition{display:flex;align-items:center;gap:28px;padding:20px 0 45px}.recognition .eyebrow{margin:0}.recognition>img{object-fit:contain;width:auto;height:46px;opacity:.68}.recognition>img:nth-of-type(2){height:52px}.scroll-cue{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:11px;color:var(--muted)}.scroll-cue>span{font-size:26px;animation:cue 2.8s ease-in-out infinite}@keyframes cue{50%{transform:translateY(5px)}}.intro{background:var(--navy);color:white;padding-block:62px}.intro .eyebrow{color:#a3b4c2}.stats{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:0}.stats>div{padding:12px 36px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:clamp(28px,3.7vw,54px);font-weight:500;letter-spacing:-.06em;line-height:1.2}.stats span{font-size:12px;color:var(--muted)}.intro .stats span{color:#b8c7d2}.intro .stats>div{border-color:#ffffff2b}.context .section-heading{max-width:800px}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}.place-card img{width:100%;height:auto;transition:filter .35s}.place-card:hover img{filter:brightness(1.06)}.place-card>div{padding-top:22px;display:flex;flex-direction:column;gap:8px}.place-card h3{font-size:28px}.place-card span{font-size:12px;color:var(--muted)}.place-card:nth-child(2){margin-top:64px}.place-card:nth-child(3){margin-top:128px}
/* Alternating portfolio composition retained, with visual selectors instead of numbers. */
.portfolio{padding-top:50px}.project-feature{display:grid;grid-template-columns:.75fr 1.3fr;gap:8%;align-items:center;border-top:1px solid var(--line);padding-block:70px}.project-feature.reverse{grid-template-columns:1.3fr .75fr}.project-feature.reverse .feature-copy{grid-column:2;grid-row:1}.project-feature.reverse .feature-media{grid-column:1;grid-row:1}.feature-copy h3{font-size:clamp(30px,3.2vw,48px)}.feature-copy p:not(.eyebrow){font-size:16px;max-width:390px;margin-block:22px 24px}.feature-media{min-width:0}.carousel{min-width:0}.slides{background:var(--soft);position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}.slide{width:100%;height:100%;min-height:0;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:picture-in .5s var(--ease)}.slide img{width:100%;height:100%;object-fit:contain}.expand{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.92);width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:24px;opacity:0;transition:opacity .2s}.slides:hover .expand,.expand:focus-visible{opacity:1}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:15px}.thumbs{display:flex;gap:8px;min-width:0;overflow:auto;padding:3px;scrollbar-width:thin}.thumb{width:56px;height:40px;flex:0 0 56px;padding:2px;border:1px solid transparent;background:var(--soft);opacity:.5;transition:opacity .2s,border-color .2s}.thumb img{width:100%;height:100%;object-fit:contain}.thumb.selected{opacity:1;border-color:var(--ink)}.thumb:hover{opacity:1}.hero-visual .expand{display:none}@keyframes picture-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}
.principles{background:var(--navy);color:white}.principles .eyebrow{color:#a3b4c2}.principles .section-heading{max-width:950px}.principle-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center}.principle-pictures{min-width:0;aspect-ratio:16/9;display:grid;place-items:center}.principle-pictures>div{width:100%;animation:picture-in .5s var(--ease)}.principle-pictures img{width:100%;height:auto;object-fit:contain}.principle-options button{display:flex;text-align:left;width:100%;padding:27px 0;background:transparent;color:white;gap:20px;border-top:1px solid #ffffff29;opacity:.78;align-items:start}.principle-options button.selected{opacity:1}.principle-options button>span:nth-child(2){flex:1}.principle-options strong{font-size:21px;line-height:1.3;display:block;font-weight:500;letter-spacing:-.025em}.principle-description{font-size:14px;line-height:1.65;display:block;color:#c3cfd8;margin-top:12px}.principle-dot{width:7px;height:7px;border:1px solid #fff;border-radius:50%;margin-top:8px;flex:none}.selected .principle-dot{background:white}.heritage{display:grid;grid-template-columns:.6fr 1.4fr;gap:12%;align-items:center}.heritage-logo{display:flex;flex-direction:column;gap:25px}.heritage-logo img{width:220px;height:auto}.heritage-logo span{font-size:12px;color:var(--muted)}.heritage h2{max-width:700px}.heritage .lead{margin-bottom:20px}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 36px}.home-blog{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-card{min-width:0;display:flex;flex-direction:column;align-items:start}.blog-card>img{width:100%;height:auto;margin-bottom:26px}.blog-card>.eyebrow{margin-bottom:13px}.blog-card h3{font-size:28px;letter-spacing:-.035em;line-height:1.25}.blog-card p{font-size:15px;margin-top:18px}.blog-card .text-link{margin-top:18px}.home-blog .blog-card p{display:none}.home-blog .blog-card h3{font-size:23px}.enquiry{background:var(--navy);color:#fff;padding-block:80px}.enquiry-grid{display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:7%;align-items:start}.enquiry-grid:has(>.enquiry-route:last-child:nth-child(2)){grid-template-columns:1fr 1fr}.enquiry h2{font-size:clamp(36px,3.5vw,52px)}.enquiry .eyebrow{color:#b9c8d3}.enquiry-route>span{font-size:12px;color:#c5d2dc}.enquiry-route p{font-size:15px;color:#c5d2dc;margin-block:15px 24px}.enquiry-route .text-link{margin-top:24px}.footer{padding:68px 0 25px;background:#f4f5f6}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1.2fr;gap:50px}.footer-wordmark{font-size:26px;line-height:1.3;letter-spacing:-.04em}.footer-wordmark span{display:block;color:var(--muted);font-size:12px;letter-spacing:0;margin-top:12px}.footer nav,.footer-contact{display:flex;flex-direction:column;align-items:start;gap:10px}.footer-link{font-size:12px;color:var(--text);line-height:1.5;padding:3px 0}.footer-link>span{display:none}.footer-link:hover{color:var(--ink);text-decoration:underline}.copyright{margin-top:50px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:var(--muted)}
.page-intro{padding-top:75px;padding-bottom:30px}.split-title{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:end}.split-title h1{font-size:clamp(50px,5.6vw,84px)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 36px;padding-top:50px}.portfolio-card>img{width:100%;height:auto}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.card-head h2{font-size:32px;letter-spacing:-.035em}.card-head>span{font-size:28px;transition:transform .3s}.portfolio-card:hover .card-head>span{transform:translate(4px,-4px)}.portfolio-card .eyebrow{margin-block:15px;margin-bottom:16px}.portfolio-card>p:not(.eyebrow){font-size:15px;max-width:560px}.project-intro{padding-top:35px}.back-link{display:inline-flex;min-height:44px;font-size:12px;color:var(--muted);margin-bottom:35px}.project-intro>.eyebrow{margin-bottom:18px}.project-type{font-size:17px;color:var(--muted);margin-top:24px}.project-hero{margin-top:46px}.project-hero img{width:100%;height:auto;max-height:85svh;object-fit:contain}.project-lead{padding:50px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.utility{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.utility-link{border:1px solid var(--line);padding:12px 17px;font-size:12px;transition:background .2s}.utility-link:hover{background:var(--soft)}.project-nav{position:sticky;top:var(--header);z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);border-block:1px solid var(--line)}.project-nav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:62px}.project-nav strong{font-size:14px;font-weight:500;letter-spacing:-.02em}.project-nav>.wrap>div{display:flex;gap:28px}.project-nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.project-nav a:hover{color:#6589a5}.concept{max-width:1050px;margin-left:auto;margin-right:auto}.concept h2{font-size:clamp(30px,3.6vw,50px);line-height:1.28;letter-spacing:-.045em}.chapter{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%;align-items:center;padding-block:50px 100px}.chapter.reverse{grid-template-columns:1.3fr .7fr}.chapter.reverse .chapter-copy{grid-column:2;grid-row:1}.chapter.reverse .chapter-image{grid-column:1;grid-row:1}.chapter-image img{max-height:660px;object-fit:contain}.chapter-copy h2{font-size:clamp(30px,3.2vw,46px)}.chapter-copy .lead{font-size:18px}.gallery-section{background:var(--soft)}.gallery-section .slides{aspect-ratio:16/10;background:#e9edef;max-height:78svh}.gallery-section .thumb{width:78px;height:52px;flex-basis:78px}.gallery-section .expand{opacity:1}.facts-section{display:grid;grid-template-columns:1fr 1fr;gap:14%}.facts-section>div>p:last-child{margin-top:25px;max-width:470px}dl{margin:0}dl>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;border-bottom:1px solid var(--line);padding:22px 0}dt{font-size:12px;color:var(--muted)}dd{margin:0;font-size:15px}.next-project{padding-block:85px}.next-project>a{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}.next-project h2{font-size:clamp(34px,4vw,58px)}.next-project img{width:100%;height:auto}.next-project .eyebrow{display:block}.about-intro{max-width:1100px;margin-left:var(--gutter);padding-bottom:60px}.about-intro .lead{margin-top:30px;max-width:700px}.about-visual{display:grid;grid-template-columns:1.6fr .5fr;gap:55px;align-items:end}.about-visual-note{padding-bottom:25px}.about-visual-note>span{font-size:12px;letter-spacing:.05em}.about-visual-note>p{font-size:15px;margin-top:20px}.foundation{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%}.foundation .lead+.lead{margin-top:22px}.foundation .text-link{margin-top:20px}.relationship{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.relationship>:is(div,a){padding:50px 60px}.relationship>:is(div,a):first-child{padding-left:0;border-right:1px solid var(--line)}.relationship>:is(div,a)>img{width:200px;height:85px;object-fit:contain;object-position:left}.about-brand{display:flex;align-items:center;gap:20px;height:85px}.about-brand img{width:40px;height:54px}.about-brand strong{font-size:28px;font-weight:500;letter-spacing:-.05em}.relationship p{font-size:16px;margin-top:30px}.relationship>:is(div,a)>span{display:block;font-size:12px;color:var(--muted);margin-top:12px}.capabilities{margin-top:80px;background:var(--soft)}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.capability-grid>div{border-top:1px solid var(--line);padding-top:26px}.capability-grid>div>span{font-size:30px;color:var(--muted)}.capability-grid h3{overflow-wrap:anywhere;font-size:22px;line-height:1.3;margin-top:45px}.article-header{max-width:950px;padding-top:80px;padding-bottom:44px}.article-header h1{font-size:clamp(38px,4.7vw,64px);line-height:1.12}.article-header .lead{margin-top:30px}.article-image{max-width:1120px}.article-image img{width:100%;height:auto}.reading{max-width:680px;width:calc(100% - var(--gutter)*2);margin:65px auto}.reading section{margin-bottom:42px}.reading h2{font-size:29px;line-height:1.25;letter-spacing:-.035em}.reading p{font-size:18px;line-height:1.85;margin-top:20px}.article-end{margin-top:60px;border-top:1px solid var(--line);padding-top:22px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:55px}.contact-grid h2{font-size:42px}.contact-office dl{margin-block:25px}.contact-sales{background:var(--soft);padding:42px}.contact-sales>img{width:180px;height:65px;object-fit:contain;object-position:left;margin:25px 0}.contact-sales .button{margin-top:30px}.office-map{padding-bottom:100px}.office-map iframe{width:100%;height:460px;border:0;background:var(--soft)}.lightbox{border:0;padding:70px 30px 30px;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;background:#0e1b28;color:white}.lightbox::backdrop{background:#0e1b28}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox>img{width:auto;height:auto;max-height:calc(100dvh - 110px);max-width:100%;object-fit:contain}.lightbox>button{position:absolute;right:25px;top:20px;min-height:44px;padding:8px 18px;background:white;color:var(--ink);border-radius:30px}.motion-enter{animation:entry .7s var(--ease)}@keyframes entry{from{transform:translateY(18px)}to{transform:translateY(0)}}
@media(min-width:1600px){.about-intro{margin-inline:auto}}
@media(max-width:1100px){.desktop-links{gap:18px}.nav{gap:20px}.nav-tools{gap:15px}.nav-contact{display:none}.home-hero{gap:35px}.hero-copy h1{font-size:49px}.project-feature,.project-feature.reverse{gap:6%}.enquiry-grid{gap:5%;grid-template-columns:1fr 1fr}.enquiry-grid>.enquiry-route:last-child:nth-child(3){grid-column:2}.enquiry-grid>.enquiry-route:last-child:nth-child(3) .text-link{margin-top:12px}.capability-grid{grid-template-columns:repeat(2,1fr);gap:35px}.principle-description{font-size:13px}.principle-options button{padding-block:20px}}
@media(max-width:760px){:root{--header:68px;--gutter:22px}html{scroll-padding-top:140px}body{font-size:16px;line-height:1.65}.desktop-links,.nav-tools>.languages{display:none}.menu-button{display:flex}.brand span{font-size:17px}.brand img{width:24px;height:32px}.section{padding-block:72px}h1{font-size:45px;letter-spacing:-.05em}h2{font-size:35px;line-height:1.12}h3{font-size:26px}.eyebrow{font-size:10px;margin-bottom:18px}.lead{font-size:17px}.row{align-items:start;flex-direction:column;gap:22px}.section-heading{margin-bottom:32px}.section-heading .text-link{min-height:38px}.home-hero{display:flex;flex-direction:column;gap:30px;padding-top:42px;padding-bottom:22px}.hero-copy{display:contents}.hero-copy>.eyebrow{width:100%;order:0;margin-bottom:-18px}.hero-copy h1{font-size:42px;order:1;width:100%}.hero-visual{width:100%;order:2;transform:none!important}.hero-copy .lead{order:3;margin:0;width:100%;max-width:none;font-size:16px}.hero-copy .actions{order:4;width:100%;gap:18px}.actions .text-link{font-size:12px}.button{padding:13px 20px;font-size:13px}.hero-caption{margin-top:12px;align-items:start;font-size:11px}.hero-caption .text-link{font-size:11px;min-height:30px;padding-top:0}.hero-caption>span{padding-top:2px}.carousel-controls{gap:8px;margin-top:10px}.thumb{width:48px;height:36px;flex-basis:48px}.thumbs{gap:6px}.expand{opacity:1;width:34px;height:34px;right:10px;bottom:10px}.recognition{gap:22px;padding-block:25px 38px;flex-wrap:wrap}.recognition .eyebrow{font-size:9px}.recognition>img{height:40px}.recognition>img:nth-of-type(2){height:46px}.scroll-cue{display:none}.intro{padding-block:40px}.stats{grid-template-columns:1fr 1fr}.stats>div:first-child{grid-column:1/-1;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:20px}.stats>div:nth-child(2){border-left:0;padding-left:0}.stats>div{padding:5px 20px;gap:10px}.stats strong{font-size:36px}.stats span{font-size:11px}.stats>div:first-child strong{font-size:38px}.place-grid{grid-template-columns:1fr;gap:32px}.place-card:nth-child(n){margin-top:0}.place-card>div{flex-direction:row;justify-content:space-between;align-items:center;gap:18px;padding-top:16px}.place-card h3{font-size:26px}.place-card span{font-size:11px}.portfolio{padding-top:15px}.project-feature,.project-feature.reverse{display:flex;flex-direction:column;gap:25px;padding-block:44px}.feature-copy{width:100%}.feature-copy .eyebrow{margin-bottom:12px}.feature-copy h3{font-size:32px}.feature-copy p:not(.eyebrow){font-size:15px;margin-block:18px}.feature-media{width:100%;order:-1}.feature-copy p:not(.eyebrow){max-width:none}.principle-layout{grid-template-columns:1fr;gap:26px}.principle-pictures{position:relative}.principle-options button{padding-block:20px}.principle-options strong{font-size:19px}.principle-description{font-size:14px;margin-top:10px}.principle-options button:not(.selected) .principle-description{display:none}.heritage{display:flex;flex-direction:column-reverse;gap:35px;align-items:start}.heritage-logo{width:100%;padding-top:30px;border-top:1px solid var(--line)}.heritage-logo img{width:150px}.heritage-logo span{font-size:11px}.blog-grid,.home-blog{grid-template-columns:1fr;gap:44px}.blog-card>img{margin-bottom:20px}.blog-card h3,.home-blog .blog-card h3{font-size:25px}.blog-card p{font-size:15px}.home-blog .blog-card:nth-child(n+3){display:none}.enquiry{padding-block:60px}.enquiry-grid,.enquiry-grid:has(>.enquiry-route:last-child:nth-child(2)){display:flex;flex-direction:column;gap:35px}.enquiry h2{font-size:36px}.enquiry-route{width:100%;padding-top:24px;border-top:1px solid #ffffff30}.enquiry-route .text-link{margin-top:15px}.footer{padding-top:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-wordmark{grid-column:1/-1;font-size:25px}.footer-wordmark span{display:none}.footer-contact{gap:13px}.footer nav{gap:15px}.footer-link{font-size:11px;overflow-wrap:anywhere}.copyright{margin-top:34px;padding-top:20px}.page-intro{padding-top:42px;padding-bottom:20px}.split-title{display:flex;flex-direction:column;align-items:start;gap:26px}.split-title h1{font-size:45px}.portfolio-grid{grid-template-columns:1fr;gap:45px;padding-top:30px}.card-head{margin-top:20px}.card-head h2{font-size:29px}.portfolio-card .eyebrow{font-size:9px}.project-intro{padding-top:18px}.back-link{margin-bottom:22px}.project-intro h1{font-size:45px}.project-type{font-size:14px;margin-top:16px}.project-hero{margin-top:30px;transform:none!important}.project-lead{display:flex;flex-direction:column;padding-block:30px;gap:24px}.utility{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.utility-link{padding:12px 9px;font-size:11px;min-height:46px}.project-nav>.wrap{height:57px}.project-nav strong{display:none}.project-nav>.wrap>div{width:100%;justify-content:space-between;gap:10px}.project-nav a{font-size:12px}.concept h2{font-size:29px;line-height:1.35}.chapter,.chapter.reverse{display:flex;flex-direction:column;gap:28px;padding-block:20px 60px}.chapter-copy{width:100%}.chapter-copy h2{font-size:32px}.chapter-copy .lead{font-size:16px}.chapter-image{width:100%}.chapter-image figcaption{display:none}.gallery-section .slides{aspect-ratio:1/1;max-height:none}.gallery-section .thumb{width:43px;height:37px;flex-basis:43px}.gallery-section .thumbs{gap:4px}.gallery-section .carousel-controls{align-items:start;flex-wrap:wrap;justify-content:center;gap:15px}.gallery-section .section-heading>.eyebrow{margin:0}.facts-section{display:flex;flex-direction:column;gap:35px}.facts-section dl{width:100%}.facts-section h2{font-size:34px}.facts-section>div>p:last-child{font-size:15px}.next-project{padding-block:60px}.next-project>a{display:flex;flex-direction:column;align-items:start;gap:28px}.next-project h2{font-size:36px}.next-project img{width:100%}.about-intro{margin-inline:auto;padding-bottom:35px}.about-intro h1{font-size:48px}.about-intro .lead{font-size:18px;margin-top:25px}.about-visual{display:flex;flex-direction:column;gap:25px;align-items:start}.about-visual-note{padding:0;max-width:500px}.about-visual-note>p{margin-top:14px}.foundation{display:flex;flex-direction:column;gap:28px}.relationship{grid-template-columns:1fr}.relationship>:is(div,a),.relationship>:is(div,a):first-child{border:0;padding:32px 0}.relationship>:is(div,a):first-child{border-bottom:1px solid var(--line)}.relationship>:is(div,a)>img{width:160px;height:70px}.relationship p{margin-top:20px;font-size:14px}.about-brand strong{font-size:27px}.about-brand{height:70px}.capabilities{margin-top:55px}.capability-grid{gap:30px 24px}.capability-grid h3{font-size:18px;margin-top:25px;line-height:1.45;letter-spacing:-.025em}.article-header{padding-top:42px;padding-bottom:30px}.article-header h1{font-size:35px;line-height:1.18}.article-header .lead{font-size:17px;margin-top:25px}.reading{margin-block:40px}.reading h2{font-size:26px}.reading p{font-size:16px;line-height:1.8}.reading section{margin-bottom:34px}.contact-grid{display:flex;flex-direction:column;gap:45px;padding-top:32px}.contact-office,.contact-sales{width:100%}.contact-sales{padding:28px}.contact-grid h2{font-size:34px}dl>div{grid-template-columns:.6fr 1.4fr;padding-block:20px}dd{font-size:14px;overflow-wrap:anywhere}.office-map{padding-bottom:65px}.office-map iframe{height:370px}.lightbox{padding-inline:15px}html[lang=ka] h1{font-size:38px;line-height:1.23}html[lang=ka] h2{font-size:30px;line-height:1.3}html[lang=ka] .feature-copy h3{font-size:28px}html[lang=ka] .hero-copy h1{font-size:35px}html[lang=ka] .mobile-menu nav a{font-size:30px}}
@media(max-width:360px){:root{--gutter:18px}.hero-copy h1{font-size:37px}.brand span{font-size:15px}.actions{gap:12px}.actions .button{font-size:12px;padding-inline:16px}.hero-caption{flex-direction:column;gap:5px}.hero-caption .text-link{border:0}.thumb{width:40px;flex-basis:40px;height:32px}.footer-grid{grid-template-columns:1fr}.footer-wordmark{grid-column:auto}.footer nav{flex-direction:row;flex-wrap:wrap;gap:15px}.project-intro h1{font-size:38px}.project-type{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-drift]{transform:none!important}}

.project-nav a[aria-current]{box-shadow:inset 0 -2px var(--ink);font-weight:600}
/* Project-wide hero and the restored moving identity strip. */
.hero-carousel .carousel-controls{gap:16px}.hero-carousel .thumbs{flex:1;overflow:visible;padding:3px;gap:8px}.hero-carousel .thumb{width:54px;flex-basis:54px;height:40px}.hero-carousel .slide{animation:hero-view .7s var(--ease)}@keyframes hero-view{from{opacity:.2}to{opacity:1}}
.motion-toggle{flex:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;transition:background .2s}.motion-toggle:hover{background:#e9edef}.pause-symbol{display:block;width:10px;height:12px;border-inline:2px solid currentColor}.motion-toggle.is-paused .pause-symbol{width:0;height:0;border:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.project-ribbon{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.ribbon-window{overflow:hidden;min-width:0}.ribbon-track{display:flex;width:max-content;animation:project-ribbon 38s linear infinite;will-change:transform}.ribbon-group{display:flex;flex:none;align-items:center;gap:clamp(32px,4vw,64px);padding:27px clamp(32px,4vw,64px) 27px 0}.project-ribbon-logo{width:clamp(132px,13vw,190px);height:44px;display:flex;align-items:center;justify-content:center;flex:none}.project-ribbon-logo img{width:auto;height:auto;max-width:100%;max-height:38px;object-fit:contain;filter:grayscale(1);opacity:.8}.ribbon-toggle{justify-self:center}.project-ribbon.is-paused .ribbon-track{animation-play-state:paused}@keyframes project-ribbon{to{transform:translateX(-50%)}}
.scroll-cue>.scroll-cue-line{width:1px;height:28px;position:relative;background:var(--line);animation:none}.scroll-cue-line:after{content:"";position:absolute;top:0;left:-1px;width:3px;height:8px;background:var(--muted);border-radius:2px;animation:scroll-mark 2.8s ease-in-out infinite}@keyframes scroll-mark{50%{transform:translateY(20px)}}
.text-link:hover{border-color:var(--ink)}.back-link:hover{text-decoration:underline}.portfolio-card:hover h2,.next-project a:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.capability-grid h3{margin-top:12px}
@media(max-width:1100px) and (min-width:761px){.hero-carousel .thumbs{gap:5px}.hero-carousel .thumb{width:38px;flex-basis:38px;height:32px}.hero-carousel .carousel-controls{gap:7px}}
@media(max-width:760px){.hero-carousel .thumbs{gap:6px}.hero-carousel .thumb{width:42px;flex-basis:42px;height:34px}.hero-carousel .carousel-controls{gap:10px}.hero-carousel .motion-toggle{width:34px;height:34px}.hero-caption{align-items:start;min-height:42px}.hero-caption>[data-hero-name]{max-width:48%;line-height:1.5}.hero-caption .text-link{max-width:48%;text-align:right;justify-content:flex-end}.project-ribbon{grid-template-columns:minmax(0,1fr) 54px}.ribbon-group{gap:32px;padding:19px 32px 19px 0}.project-ribbon-logo{width:132px;height:36px}.project-ribbon-logo img{max-height:32px}.ribbon-track{animation-duration:30s}.ribbon-toggle{width:32px;height:32px}.carousel-controls{justify-content:flex-start}.gallery-section .carousel-controls{justify-content:flex-start}}
@media(max-width:360px){.hero-carousel .thumb{width:35px;flex-basis:35px;height:29px}.hero-carousel .thumbs{gap:4px}.hero-carousel .carousel-controls{gap:6px}.hero-carousel .motion-toggle{width:30px;height:30px}.hero-caption{flex-direction:row;gap:12px}.hero-caption .text-link{border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.hero-carousel .motion-toggle,.ribbon-toggle{display:none}.project-ribbon{display:block}.ribbon-window{overflow:visible}.ribbon-track{width:100%;transform:none;will-change:auto}.ribbon-group{width:100%;flex-wrap:wrap;justify-content:center;padding:24px;gap:24px}.ribbon-group[aria-hidden]{display:none}}

/* Legacy natural-size rules; the consolidated fixed-frame rules below supersede these. */
.slides,.gallery-section .slides{aspect-ratio:auto;max-height:none;background:transparent;display:block}.slide{position:relative;inset:auto;height:auto;display:block}.slide img{height:auto;object-fit:contain}.project-hero img,.chapter-image img{max-height:none}.principle-pictures{aspect-ratio:auto}
.thumb,.hero-carousel .thumb,.gallery-section .thumb{position:relative;height:auto;min-height:38px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:auto}.thumb.selected{border:0}.thumb.selected:after{content:"";position:absolute;bottom:-4px;left:calc(50% - 9px);width:18px;height:2px;background:var(--ink);border-radius:2px}.thumbs{padding:3px 3px 7px;align-items:center}
/* A tighter rhythm, preserving the approved layout and typography. */
:root{--header:72px}.section{padding-block:88px}.section-heading{margin-bottom:40px}.home-hero{padding-block:48px 24px;gap:clamp(32px,4vw,64px)}.hero-copy .lead{margin-block:22px 26px}.recognition{padding-block:14px 27px}.intro{padding-block:44px}.place-card:nth-child(2){margin-top:44px}.place-card:nth-child(3){margin-top:88px}.portfolio{padding-top:36px}.project-feature{padding-block:50px}.heritage{gap:9%}.enquiry{padding-block:60px}.footer{padding-top:48px}.copyright{margin-top:34px}.page-intro{padding-top:50px;padding-bottom:22px}.portfolio-grid{padding-top:35px;gap:60px 32px}.project-intro{padding-top:24px}.back-link{margin-bottom:22px}.project-type{margin-top:18px}.project-hero{margin-top:30px}.project-lead{padding-block:36px}.chapter{padding-block:32px 65px;gap:8%}.next-project{padding-block:60px}.about-intro{padding-bottom:40px}.foundation{gap:9%}.relationship>:is(div,a){padding-block:38px}.capabilities{margin-top:56px}.article-header{padding-top:55px;padding-bottom:32px}.reading{margin-block:48px}.contact-grid{padding-top:36px}.office-map{padding-bottom:72px}
@media(max-width:760px){:root{--header:64px}.section{padding-block:54px}.section-heading{margin-bottom:28px}.home-hero{padding-block:30px 18px;gap:24px}.hero-copy>.eyebrow{margin-bottom:-12px}.hero-copy .lead{margin:0}.hero-carousel .thumb{width:0;min-width:0;flex:1 1 0}.hero-carousel .thumbs{overflow:visible;gap:6px}.recognition{padding-block:15px 24px}.intro{padding-block:30px}.place-card:nth-child(n){margin-top:0}.place-grid{gap:26px}.portfolio{padding-top:12px}.project-feature{padding-block:32px;gap:20px}.principle-layout{gap:20px}.principle-options button{padding-block:17px}.heritage{gap:26px}.enquiry{padding-block:44px}.enquiry-grid{gap:26px}.footer{padding-top:34px}.page-intro{padding-top:30px;padding-bottom:18px}.portfolio-grid{padding-top:24px;gap:34px}.project-intro{padding-top:14px}.back-link{margin-bottom:14px}.project-type{margin-top:14px}.project-hero{margin-top:24px}.project-lead{padding-block:24px;gap:22px}.chapter,.chapter.reverse{padding-block:12px 42px;gap:22px}.next-project{padding-block:42px}.about-intro{padding-bottom:26px}.about-intro .lead{margin-top:20px}.relationship>:is(div,a),.relationship>:is(div,a):first-child{padding-block:26px}.capabilities{margin-top:38px}.article-header{padding-top:30px;padding-bottom:24px}.reading{margin-block:32px}.contact-grid{padding-top:24px;gap:30px}.office-map{padding-bottom:48px}.ribbon-group{padding-block:16px}}
/* A contained, centered composition instead of an edge-to-edge desktop layout. */
.wrap{max-width:1160px}h1{font-size:clamp(44px,5.4vw,78px)}h2{font-size:clamp(34px,3.6vw,52px)}.section{padding-block:72px}.lead{font-size:clamp(17px,1.3vw,20px)}.section-heading{margin-bottom:34px}.home-hero{gap:40px;padding-top:40px}.hero-copy h1{font-size:clamp(42px,3.7vw,54px)}.hero-copy .lead{font-size:16px;line-height:1.65}.home-hero .actions{gap:20px}.project-feature,.project-feature.reverse{gap:6%}.project-feature{padding-block:44px}.feature-copy h3{font-size:clamp(29px,2.9vw,40px)}.split-title{gap:8%}.split-title h1{font-size:clamp(44px,4.8vw,68px)}.concept{max-width:940px}.concept h2{font-size:clamp(29px,3vw,42px)}.chapter,.chapter.reverse{gap:7%}.chapter-copy h2{font-size:clamp(29px,2.8vw,40px)}.principle-layout{gap:6%}.heritage{gap:8%}.foundation{gap:8%}.facts-section{gap:9%}.enquiry-grid{gap:5%}.about-intro{max-width:1160px;margin-inline:auto}.about-intro .lead{max-width:650px}.portfolio{padding-top:30px}.intro{padding-block:38px}.contact-grid{gap:8%;padding-top:32px}.footer-grid{gap:36px}.project-ribbon-logo{width:clamp(128px,11vw,160px)}.ribbon-group{gap:clamp(30px,3vw,44px);padding-right:clamp(30px,3vw,44px)}
@media(min-width:761px){.page-intro{padding-top:42px}.relationship>:is(div,a){padding-inline:40px}.relationship>:is(div,a):first-child{padding-left:0}.enquiry h2{font-size:42px}.capabilities{margin-top:44px}}
@media(max-width:760px){h1{font-size:42px}h2{font-size:33px}.section{padding-block:48px}.home-hero{gap:22px;padding-top:28px}.hero-copy h1{font-size:39px}.section-heading{margin-bottom:26px}.project-feature{padding-block:30px;gap:20px}.intro{padding-block:28px}.portfolio{padding-top:10px}.concept h2{font-size:28px}.chapter,.chapter.reverse{gap:22px}.heritage{gap:24px}.foundation{gap:24px}.facts-section{gap:26px}.enquiry-grid{gap:26px}.about-intro h1{font-size:42px}.split-title h1{font-size:42px}.contact-grid{gap:28px;padding-top:24px}.footer-grid{gap:26px}.ribbon-group{gap:30px;padding-right:30px}.project-ribbon-logo{width:128px}}
/* Seamless logo loop and the softer reveal rhythm of the earlier site. */
.ribbon-group{min-width:calc(100vw - 72px);justify-content:space-around}.motion-ready{opacity:0;translate:0 30px;transition:opacity .85s cubic-bezier(.16,1,.3,1),translate .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready.motion-fade{translate:none}.motion-ready.is-revealed{opacity:1;translate:0 0}.motion-ready:focus-within{opacity:1;translate:0 0}.slide{animation:render-change .65s cubic-bezier(.16,1,.3,1)}@keyframes render-change{from{opacity:.35}to{opacity:1}}
@media(max-width:760px){.ribbon-group{min-width:calc(100vw - 54px)}.motion-ready{translate:0 20px}}
@media(prefers-reduced-motion:reduce){.motion-ready{opacity:1;translate:none;transition:none}.ribbon-group{min-width:0}}
/* Restrained accents sampled from the original Tower Group logo. */
:root{--brand:#213b56;--navy:#213b56}.button{background:var(--brand)}.button:hover{background:#2b4e71}.button.light{background:white;color:var(--brand)}.scroll-line{background:var(--brand)}.desktop-links a[aria-current],.languages a[aria-current],.project-nav a[aria-current]{color:var(--brand)}.languages a[aria-current]{box-shadow:inset 0 -1px var(--brand)}.project-nav a[aria-current]{box-shadow:inset 0 -2px var(--brand)}.thumb.selected:after{background:var(--brand)}.eyebrow{color:var(--brand)}.footer-wordmark,.project-type{color:var(--brand)}.stats strong{color:var(--brand)}.intro .stats strong{color:white}.principle-dot{border-color:#c7d8e8}.principle-options .selected .principle-dot{background:#c7d8e8}.capability-grid>div{border-top-color:#c3d1df}.text-link{border-bottom-color:#c3d1df}.text-link:hover{border-bottom-color:var(--brand)}.enquiry .text-link{border-bottom-color:#8ba7c2}
.home-hero{padding-bottom:34px}.heritage-recognition{border-top:1px solid var(--line);padding:22px 0 0;margin-top:24px;gap:28px;flex-wrap:nowrap}.heritage-recognition .eyebrow{font-size:9px;letter-spacing:.12em;color:var(--muted);flex:none}.award-marks{display:flex;align-items:center;gap:28px}.award-marks img{height:45px;width:auto;max-width:100px;object-fit:contain}.award-marks img:last-child{height:52px}.heritage-logo{align-self:center}
@media(max-width:760px){.home-hero{padding-bottom:26px}.heritage-recognition{gap:22px;padding-top:18px;margin-top:22px}.award-marks{gap:25px}.award-marks img{height:40px;max-width:90px}.award-marks img:last-child{height:48px}}
/* Keep enquiry labels and actions on separate, deliberately spaced lines. */
.enquiry-route{display:flex;flex-direction:column;align-items:flex-start}.enquiry-route>span{display:block;line-height:1.5}.enquiry-route .text-link{margin-top:16px}.enquiry-route .button{align-self:flex-start}.enquiry-route p{margin-block:14px 20px}
.live-link{gap:9px}.live-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#d33232;box-shadow:0 0 0 3px #d3323212;animation:live-pulse 1.8s ease-in-out infinite}@keyframes live-pulse{0%,100%{opacity:1;box-shadow:0 0 0 3px #d3323212}50%{opacity:.4;box-shadow:0 0 0 5px #d3323200}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none;opacity:1}}
.enquiry-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.enquiry-actions .text-link{margin-top:0}.enquiry .text-link:hover{border-bottom-color:white}.enquiry-actions .button{align-self:auto}
@media(max-width:760px){.enquiry-actions{gap:12px 20px}}
/* Settings become a concise navigation row; photography stays in the portfolio. */
.context{padding-block:48px}.context .section-heading{margin-bottom:26px;max-width:760px}.context .section-heading h2{font-size:36px;line-height:1.2}.context .eyebrow{margin-bottom:14px}.place-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.place-card:nth-child(n){margin-top:0}.place-card{border-top:1px solid #bfccda;padding-top:17px;transition:border-color .25s,color .25s}.place-card:hover{border-top-color:var(--brand);color:var(--brand)}.place-card>div{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.place-card h3{font-size:25px;letter-spacing:-.035em}.place-card span{font-size:12px;line-height:1.5}.context+.portfolio{padding-top:24px}
@media(max-width:760px){.context{padding-block:34px}.context .section-heading{margin-bottom:22px}.context .section-heading h2{font-size:27px}.place-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.place-card{padding-top:13px}.place-card>div{gap:7px}.place-card h3{font-size:18px;line-height:1.25}.place-card span{font-size:10px;line-height:1.45;overflow-wrap:anywhere}.context+.portfolio{padding-top:12px}html[lang=ka] .context h2{font-size:26px}html[lang=ka] .place-card h3{font-size:16px}}
@media(max-width:360px){.place-grid{gap:10px}.place-card h3{font-size:16px}}
@media(max-width:760px){.project-nav>.wrap{height:auto;min-height:64px}.project-nav>.wrap>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.project-nav a{justify-content:center;text-align:center;min-height:64px;padding:9px 3px;line-height:1.45;font-size:11px;overflow-wrap:normal}}
/* Long Georgian words must not widen the project story on small screens. */
.concept h2{overflow-wrap:anywhere}html[lang=ka] .concept h2{font-size:clamp(23px,2.8vw,40px);line-height:1.45}
/* Consolidated review: compact pages and identical 16:9 render frames. */
:root{--content-max:1040px;--project-max:880px;--article-max:760px;--thumb-width:56px;--thumb-height:31.5px}
.wrap{max-width:var(--content-max)}.home-hero{grid-template-columns:.9fr 1.1fr;gap:36px;padding-block:36px 30px}.hero-copy h1{font-size:clamp(40px,3.4vw,48px)}.hero-copy .lead{max-width:420px}.about-intro{max-width:var(--content-max)}.section{padding-block:64px}.project-feature{padding-block:38px}.project-intro{max-width:940px}.gallery-section>.wrap{max-width:880px}.project-lead{padding-block:30px}.concept{max-width:860px}.chapter,.chapter.reverse{gap:6%;padding-bottom:52px}.next-project{padding-block:48px}.portfolio{padding-top:24px}
.carousel .slides{position:relative;width:100%;height:auto;aspect-ratio:16/9;max-height:none;display:block;overflow:hidden;background:transparent}.carousel .slide{position:absolute;inset:0;width:100%;height:100%;display:block}.carousel .slide>img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.carousel .slide>img[src*="panorama-approved-2"]{object-position:50% 58%}.carousel .slide>img[src*="panorama-approved-4"]{object-position:50% 58%}
.project-hero img,.chapter-image img,.portfolio-card>img,.next-project img,.about-visual .media img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:cover;object-position:center}.principle-pictures{aspect-ratio:16/9}.principle-pictures>div{width:100%;height:100%}.principle-pictures img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.carousel .carousel-controls{justify-content:flex-start;gap:0;margin-top:12px}.carousel .thumbs{display:flex;flex:0 1 auto;width:auto;max-width:100%;min-width:0;gap:8px;padding:3px 2px 7px;overflow:auto;align-items:flex-start}.carousel .thumb{position:relative;display:block;width:var(--thumb-width);height:var(--thumb-height);min-width:var(--thumb-width);min-height:0;max-height:none;flex:0 0 var(--thumb-width);aspect-ratio:16/9;padding:0;border:0;background:transparent}.carousel .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.carousel .thumb:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.carousel .thumb.selected:after{bottom:-5px;height:2px}
.menu-button{gap:12px}.menu-button>[data-menu-label]{font-size:14px}.menu-button>.menu-indicator{display:block;width:12px;height:12px;flex:0 0 12px;border:1.5px solid var(--brand);border-radius:50%;background:var(--brand);transition:background .3s var(--ease)}.menu-button[aria-expanded="true"]>.menu-indicator{background:var(--paper)}
.project-ribbon{display:block}.ribbon-group{min-width:100vw}.intro .gza-link{align-self:flex-start;font-size:12px;min-height:30px;line-height:1.4;padding:4px 0;color:white;border-bottom-color:#8ba7c2}.intro .gza-link:hover{border-color:white}
.article-header,.article-image,.reading{width:calc(100% - var(--gutter)*2);max-width:var(--article-max);margin-inline:auto;padding-inline:0}.article-header{padding-top:42px;padding-bottom:28px}.article-header h1{font-size:clamp(34px,3.5vw,48px);line-height:1.16}.article-header .lead{font-size:18px;margin-top:22px}.article-image img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:cover;object-position:center}.reading{margin-block:32px}.reading section{margin-bottom:32px}.reading h2{font-size:27px;line-height:1.3}.reading p{font-size:17px;line-height:1.8;margin-top:16px}.blog-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:20px}.blog-grid{gap:44px 28px}.blog-card h3{font-size:25px}.home-blog .blog-card h3{font-size:22px}
@media(max-width:760px){:root{--thumb-width:44px;--thumb-height:24.75px}.home-hero{gap:22px;padding-block:28px 24px}.hero-copy h1{font-size:39px}.hero-copy .lead{max-width:none}.section{padding-block:46px}.project-feature{padding-block:30px}.carousel .thumbs{gap:3px}.carousel .carousel-controls{margin-top:10px}.project-hero{margin-top:24px}.chapter,.chapter.reverse{padding-block:12px 38px;gap:22px}.project-lead{padding-block:24px}.portfolio{padding-top:12px}.context{padding-block:32px}.article-header{padding-top:28px;padding-bottom:22px}.article-header h1{font-size:33px}.article-header .lead{font-size:17px}.reading{margin-block:26px}.reading h2{font-size:25px}.reading p{font-size:16px;line-height:1.8}.blog-card h3,.home-blog .blog-card h3{font-size:24px}.gallery-section .carousel-controls{flex-wrap:nowrap}.intro .stats>div:first-child{gap:11px;padding-bottom:20px}.ribbon-group{min-width:100vw}html[lang=ka] .article-header h1{font-size:30px}html[lang=ka] .reading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ribbon-group{min-width:0}.menu-indicator{transition:none}}
/* Quiet status and a complete day/night palette. Render photography stays true. */
:root{color-scheme:light;--accent:var(--brand);--status:#218755}
.project-status{display:inline-flex;align-items:center;gap:8px;vertical-align:baseline}
.stat-project-link{display:flex;flex-direction:column;align-items:flex-start;gap:inherit;width:100%;height:100%}
.stat-project-link:hover>span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.status-dot{display:inline-block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:var(--status);animation:status-pulse 2.6s ease-in-out infinite}
.intro .status-dot{background:#63d396}
@keyframes status-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #21875500}50%{opacity:.45;box-shadow:0 0 0 3px #21875512}}
.theme-toggle{display:grid;place-items:center;flex:none;width:40px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink)}
.theme-toggle:hover{background:var(--soft)}
.theme-sun{display:none}
[data-theme=dark]{color-scheme:dark;--paper:#101b27;--soft:#162431;--ink:#edf2f7;--text:#b7c4cf;--muted:#94a6b7;--line:#304354;--accent:#a5c4e4;--navy:#1b334b;--status:#63d396}
[data-theme=dark] .theme-moon{display:none}
[data-theme=dark] .theme-sun{display:block}
[data-theme=dark] .header,[data-theme=dark] .project-nav{background:rgba(16,27,39,.96)}
[data-theme=dark] .mobile-menu,[data-theme=dark] .project-ribbon,[data-theme=dark] .skip{background:var(--paper)}
[data-theme=dark] .footer{background:var(--soft)}
[data-theme=dark] .eyebrow,[data-theme=dark] .footer-wordmark,[data-theme=dark] .project-type,[data-theme=dark] .stats strong,[data-theme=dark] .desktop-links a[aria-current],[data-theme=dark] .languages a[aria-current],[data-theme=dark] .project-nav a[aria-current]{color:var(--accent)}
[data-theme=dark] .intro .stats strong{color:white}
[data-theme=dark] .intro .eyebrow,[data-theme=dark] .principles .eyebrow,[data-theme=dark] .enquiry .eyebrow{color:#b9c8d3}
[data-theme=dark] .languages a[aria-current]{box-shadow:inset 0 -1px var(--accent)}
[data-theme=dark] .project-nav a[aria-current]{box-shadow:inset 0 -2px var(--accent)}
[data-theme=dark] .thumb.selected:after,[data-theme=dark] .scroll-line{background:var(--accent)}
[data-theme=dark] .text-link,[data-theme=dark] .place-card,[data-theme=dark] .capability-grid>div{border-color:var(--line)}
[data-theme=dark] .text-link:hover,[data-theme=dark] .place-card:hover{color:var(--accent);border-color:var(--accent)}
[data-theme=dark] .enquiry .text-link,[data-theme=dark] .intro .gza-link{color:white;border-color:#8ba7c2}
[data-theme=dark] .button{background:var(--accent);color:#101b27}
[data-theme=dark] .button:hover{background:#bfd6ec}
[data-theme=dark] .button.light{background:#edf2f7;color:#213b56}
[data-theme=dark] .expand,[data-theme=dark] .lightbox>button{background:#edf2f7;color:#142636}
[data-theme=dark] .menu-indicator{border-color:var(--accent);background:var(--accent)}
[data-theme=dark] .menu-button[aria-expanded=true]>.menu-indicator{background:var(--paper)}
[data-theme=dark] .brand img,[data-theme=dark] .about-brand img,[data-theme=dark] .heritage-logo>img,[data-theme=dark] .relationship>:is(div,a)>img,[data-theme=dark] .contact-sales>img,[data-theme=dark] .award-marks img,[data-theme=dark] .project-ribbon-logo img{filter:grayscale(1) brightness(0) invert(.9)}
[data-theme=dark] .carousel .thumb:focus-visible{outline-color:var(--accent)}
@media(max-width:760px){.nav{gap:12px}.nav-tools{gap:8px}.theme-toggle{width:36px}.brand{gap:9px}.brand span{font-size:16px}.brand img{width:25px;height:33px}.menu-button{gap:9px;padding-inline:0}}
@media(prefers-reduced-motion:reduce){.status-dot{animation:none;opacity:1}}
/* One aligned column and a closer rhythm throughout project stories. */
body[data-page^="project-"] main>.wrap,body[data-page^="project-"] .project-nav>.wrap,body[data-page^="project-"] .enquiry>.wrap{max-width:var(--project-max)}
.concept.section{padding-block:38px 30px}
.concept .eyebrow{margin-bottom:14px}
.concept h2,html[lang=ka] .concept h2{font-size:clamp(25px,2.25vw,32px);line-height:1.45;letter-spacing:-.025em}
.chapter,.chapter.reverse{gap:5%;padding-block:18px 38px}
.chapter-copy .eyebrow{margin-bottom:14px}
.chapter-copy h2{font-size:clamp(27px,2.3vw,34px)}
.chapter-copy .lead{margin-top:18px;font-size:17px;line-height:1.75}
.gallery-section.section{padding-block:44px}
.facts-section.section{padding-block:44px}
@media(max-width:760px){.concept.section{padding-block:28px 22px}.concept h2,html[lang=ka] .concept h2{font-size:24px;line-height:1.5}.chapter,.chapter.reverse{gap:18px;padding-block:12px 28px}.chapter-copy h2{font-size:27px}.chapter-copy .lead{margin-top:14px;font-size:16px}.gallery-section.section,.facts-section.section{padding-block:34px}}
/* A subtle desktop scale lift, retaining the compact vertical rhythm. */
@media(min-width:761px){
 :root{--content-max:1120px;--project-max:940px;--article-max:810px;--thumb-width:60px;--thumb-height:33.75px;--header:76px}
 body{font-size:17px}
 h1{font-size:clamp(47px,5.7vw,83px)}
 h2{font-size:clamp(36px,3.8vw,55px)}
 .lead{font-size:clamp(18px,1.4vw,21px)}
 .eyebrow{font-size:12px}
 .brand span{font-size:19px}.brand img{width:31px;height:41px}
 .desktop-links{font-size:14px}.languages a{font-size:11px}.nav-contact{font-size:13px}
 .button,.text-link{font-size:15px;min-height:48px}.button{padding:15px 26px}
 .theme-toggle{width:44px}.theme-toggle svg{width:20px;height:20px}
 .hero-copy h1{font-size:clamp(43px,3.6vw,51px)}
 .hero-copy .lead{font-size:17px;max-width:450px}
 .hero-caption,.hero-caption .text-link{font-size:13px}.hero-caption .text-link{min-height:38px}
 .feature-copy h3{font-size:clamp(31px,3.1vw,43px)}
 .feature-copy p:not(.eyebrow){font-size:17px;max-width:420px}
 .stats strong{font-size:clamp(30px,4vw,58px)}.stats span,.intro .gza-link{font-size:13px}
 .context .section-heading h2{font-size:38px}.place-card h3{font-size:27px}.place-card span{font-size:13px}
 .principle-options strong{font-size:23px}.principle-description{font-size:15px}
 .project-ribbon-logo{width:clamp(137px,11.8vw,172px);height:47px}.project-ribbon-logo img{max-height:41px}
 .split-title h1{font-size:clamp(47px,5.1vw,72px)}
 .card-head h2{font-size:34px}.portfolio-card>p:not(.eyebrow){font-size:16px}
 .project-type{font-size:18px}.back-link,.utility-link{font-size:13px}
 .project-nav strong{font-size:15px}.project-nav a{font-size:13px}
 .gallery-section>.wrap{max-width:var(--project-max)}
 .concept h2,html[lang=ka] .concept h2{font-size:clamp(27px,2.4vw,34px)}
 .chapter-copy h2{font-size:clamp(29px,2.45vw,36px)}.chapter-copy .lead{font-size:18px}
 .media figcaption,dt{font-size:13px}dd{font-size:16px}
 .next-project h2{font-size:clamp(36px,4.25vw,62px)}
 .about-visual-note>span,.heritage-logo span,.relationship>:is(div,a)>span{font-size:13px}
 .about-visual-note>p{font-size:16px}.relationship p{font-size:17px}.capability-grid h3{font-size:23px}
 .article-header h1{font-size:clamp(36px,3.7vw,51px)}.article-header .lead{font-size:19px}
 .reading h2{font-size:29px}.reading p{font-size:18px}
 .blog-card h3{font-size:27px}.home-blog .blog-card h3{font-size:24px}.blog-card p{font-size:16px}
 .enquiry h2,.contact-grid h2{font-size:45px}.enquiry-route>span{font-size:13px}.enquiry-route p{font-size:16px}
 .footer-wordmark{font-size:28px}.footer-wordmark span,.footer-link{font-size:13px}.copyright{font-size:12px}
}

/* Keep a definite vertical gap below project thumbnails on stacked layouts. */
@media(max-width:760px){
 .project-feature,.project-feature.reverse{row-gap:26px;column-gap:0}
}

/* Portfolio expansion and consistent controls. */
.project-status.upcoming .status-dot{background:#e4b744;box-shadow:none}
.stat-project-link .stat-link-label{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.stat-project-link small{display:block;font-size:12px;line-height:1.6;color:inherit;opacity:.8;margin-top:5px}
.project-button{display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;min-height:40px;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:var(--soft);color:var(--ink);font-size:13px;font-weight:500;line-height:1.4;transition:background .2s,border-color .2s}
.project-button:hover{border-color:var(--brand);background:var(--paper)}
.hero-caption{flex-wrap:wrap}
.hero-caption .project-button{flex-shrink:0}
.actions a[href="about.html"]{white-space:nowrap;flex-shrink:0}
.carousel .expand,html[data-theme=dark] .carousel .expand{background:transparent;border:0;box-shadow:none;color:#fff;opacity:1;filter:drop-shadow(0 1px 2px #000b)}
.ribbon-name{font-size:18px;line-height:1.2;text-align:center;letter-spacing:-.03em;color:var(--ink);font-weight:500}
.context.place-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px 12px}
.place-filter-bar .eyebrow{margin:0;font-size:11px}
.place-filters{display:flex;flex-wrap:wrap;gap:6px}
.place-filters button{padding:9px 15px;border-radius:24px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:13px;line-height:1.5}
.place-filters button[aria-pressed=true]{background:var(--soft);border-color:var(--line);color:var(--ink)}
.hero-carousel .thumbs{max-width:100%;overflow-x:auto}
.heritage{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;align-items:center;padding-block:42px}
.heritage-logo{padding:0;border:0;display:flex;flex-direction:column;gap:14px}
.heritage-logo img{width:150px;max-height:90px;object-fit:contain}
.heritage-logo span{font-size:11px;line-height:1.5;max-width:160px}
.heritage h2{font-size:clamp(27px,3vw,36px)}
.heritage .lead{font-size:16px;margin-block:16px 18px;max-width:620px}
.heritage .heritage-recognition{border:0;padding:20px 0 0;margin-top:0;gap:18px;justify-content:flex-start}
.heritage-recognition .award-marks{gap:24px}
.heritage-recognition .award-marks img:first-child{width:92px;height:54px;object-fit:contain}
.heritage-recognition .award-marks img:last-child{width:35px;height:54px;object-fit:contain}
body[data-page=about] .about-intro{padding-block:32px 24px;max-width:980px}
body[data-page=about] .about-intro h1{font-size:clamp(38px,4.2vw,58px)}
body[data-page=about] .about-visual{max-width:980px}
body[data-page=about] .about-visual .media img{width:100%;aspect-ratio:21/9;object-fit:cover;max-height:360px}
body[data-page=about] .foundation{max-width:980px;gap:40px;padding-block:40px}
body[data-page=about] .foundation h2{font-size:clamp(28px,3vw,38px)}
body[data-page=about] .foundation .lead{font-size:16px;line-height:1.7}
body[data-page=about] .relationship{max-width:980px;gap:28px}
body[data-page=about] .relationship>:is(div,a){padding-block:24px}
body[data-page=about] .relationship img{max-width:145px;max-height:70px;object-fit:contain}
body[data-page=about] .capabilities{margin-top:20px;padding-block:40px}
@media(max-width:760px){
 .context.place-filter-bar{display:block;padding-block:22px 6px}.place-filter-bar .eyebrow{margin-bottom:10px}.place-filters{gap:4px}.place-filters button{padding:8px 12px;font-size:12px}
 .hero-caption .project-button{font-size:11px;padding:8px 12px;min-height:36px}
 .hero-carousel .thumb{width:var(--thumb-width);flex:0 0 var(--thumb-width)}
 .heritage{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-block:32px}
 .heritage-logo{flex-direction:row;align-items:center;gap:20px}.heritage-logo img{width:112px}.heritage-logo span{max-width:170px}
 .heritage .heritage-recognition{flex-wrap:nowrap;gap:20px;padding-top:20px}.heritage-recognition .eyebrow{font-size:9px}
 body[data-page=about] .foundation{gap:18px;padding-block:28px}
 body[data-page=about] .about-visual .media img{aspect-ratio:16/9}
 body[data-page=about] .relationship{gap:12px}
}
body[data-page=about] .relationship{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body[data-page=about] .relationship>:is(div,a){border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:flex-start;gap:16px}
body[data-page=about] .relationship>:is(div,a) p,body[data-page=about] .relationship>:is(div,a) span{margin:0;font-size:13px;line-height:1.6}
body[data-page=about] .relationship>:is(div,a) span{font-size:11px;color:var(--muted)}
body[data-page=about] .relationship .about-brand{min-height:70px}
body[data-page=about] .relationship>:is(div,a)>img{height:70px}
body[data-page=about] .about-visual .media{width:100%;max-width:none}
@media(max-width:520px){body[data-page=about] .relationship{grid-template-columns:1fr}body[data-page=about] .relationship>:is(div,a){padding:20px;gap:12px}}

/* The GZA card is the single About-page link to the parent company. */
body[data-page=about] .relationship{border:0}
.gza-card{transition:background .2s ease;cursor:pointer}
.gza-card:hover{background:var(--soft)}

.tower-contact-card{transition:background .2s ease;cursor:pointer}.tower-contact-card:hover{background:var(--soft)}

/* Balance portfolio and location statistics around the shared divider. */
.stats>div:nth-child(n+2){align-items:center;text-align:center;padding-inline:24px;gap:12px}
.stats>div:nth-child(n+2) .stat-project-link{align-items:center;gap:12px}
.stats>div:nth-child(n+2) strong{display:block;line-height:1.2}
.stat-project-link small{margin-top:0}
@media(max-width:760px){.stats>div:nth-child(n+2){padding:8px 16px;gap:10px}.stats>div:nth-child(n+2) .stat-project-link{gap:10px}}

/* A single visual rhythm for the experience and portfolio summary. */
.stats .stat-settings{font-size:12px;line-height:1.6;color:inherit;opacity:.8;margin:0}
.intro.section{padding-block:32px}
.intro>.wrap>.eyebrow{margin-bottom:18px}
.stats>div{padding-block:8px}
.stats>div:first-child{gap:10px}
.stats>div:first-child strong{font-size:clamp(32px,3.4vw,46px)}
.stats .gza-link{min-height:32px;padding-bottom:5px;align-self:flex-start}
@media(max-width:760px){
 .intro>.wrap>.eyebrow{text-align:center;margin-bottom:14px}
 .stats>div:first-child{align-items:center;text-align:center;margin-bottom:18px;padding:0 0 20px;border-bottom-color:color-mix(in srgb,var(--muted) 25%,transparent);gap:8px}
 .stats .gza-link{align-self:center;margin-top:2px}
 .stats>div:nth-child(n+2){padding:4px 12px;gap:10px}
 .stats>div:nth-child(n+2) strong{font-size:36px}
 .stats>div:nth-child(n+2) span{font-size:12px;min-height:25px;display:flex;align-items:center;justify-content:center}
 .stats .stat-settings,.stats .stat-project-link small{font-size:11px;line-height:1.6;max-width:100%}
 .intro .stats>div:nth-child(n+2){border-color:#ffffff20}
}

/* Keep the foundation section on a compact, consistent spacing rhythm. */
.heritage{gap:32px;padding-block:32px;align-items:start}
.heritage-logo{gap:12px;padding-top:2px}
.heritage>div:last-child>.eyebrow{margin-bottom:12px}
.heritage h2{line-height:1.2}
.heritage .lead{margin-block:12px 16px;line-height:1.6}
.heritage .heritage-recognition{padding-top:18px;margin:0;gap:20px;align-items:center}
.heritage .heritage-recognition .eyebrow{margin:0}
.heritage .award-marks{gap:22px}
@media(max-width:760px){
 .heritage{gap:20px;padding-block:28px}
 .heritage-logo{padding:0;gap:18px}
 .heritage-logo img{width:100px;max-height:60px}
 .heritage-logo span{max-width:200px;line-height:1.5}
 .heritage>div:last-child>.eyebrow{margin-bottom:10px}
 .heritage .lead{margin-block:12px 14px}
 .heritage .heritage-recognition{padding-top:16px;gap:20px}
 .heritage .award-marks img:first-child{width:84px;height:46px}
 .heritage .award-marks img:last-child{width:30px;height:46px}
}

.office-map iframe{display:block}

.enquiry-route>.button{margin-top:16px;align-self:flex-start}

/* Tower Group's opposing corners form a consistent frame for the architecture. */
:root{--tower-corner:clamp(22px,3vw,40px)}
.carousel .slides,.project-hero,.portfolio-card>img,.chapter-image,.article-image,.about-visual .media{border-radius:var(--tower-corner) 0 var(--tower-corner) 0;overflow:hidden}
/* The original Tower Group mark leads a clean, architectural brand cover. */
.hero-carousel .brand-slide{isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(145deg,#28465f 0%,#1c354c 60%,#152d43 100%)}
.brand-slide-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;height:100%;padding:24px;text-align:center}
.brand-slide-role{order:3;color:#d6e2eb;font-size:clamp(11px,1.2vw,15px);font-weight:400;letter-spacing:.16em;text-transform:uppercase;margin:16px 0 0}
html[lang=ka] .brand-slide-role{letter-spacing:.07em}
.hero-carousel .brand-slide-lockup img{order:1;position:static;width:clamp(80px,10vw,140px);height:clamp(80px,10vw,140px);object-fit:contain;flex-shrink:0;margin-bottom:22px;filter:drop-shadow(0 14px 22px #071b2c35)}
.brand-slide-lockup strong{order:2;font-size:clamp(32px,4.6vw,62px);font-weight:500;line-height:1.05;letter-spacing:-.055em}
.brand-slide-lockup p{order:4;color:#9fb6c8;font-size:clamp(10px,1vw,13px);line-height:1.4;margin:12px 0 0;letter-spacing:.08em}
@media(prefers-reduced-motion:no-preference){.brand-slide-lockup{animation:brand-arrive 1s var(--ease) both}@keyframes brand-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
.hero-upcoming{position:absolute;left:18px;bottom:18px;padding:9px 13px;background:#142636d9;color:#fff;border-radius:18px;max-width:calc(100% - 36px);font-size:10px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(8px)}
.hero-upcoming .project-status{display:inline-flex;align-items:center;gap:8px}
.carousel .brand-thumb{background:#213b56}
.carousel .brand-thumb img{inset:20% 30%;width:40%;height:60%;object-fit:contain}
@media(max-width:760px){.brand-slide-lockup{padding:16px}.brand-slide-role{font-size:10px;margin-top:10px}.hero-carousel .brand-slide-lockup img{width:70px;height:70px;margin-bottom:12px}.brand-slide-lockup strong{font-size:32px}.brand-slide-lockup p{font-size:10px;margin-top:8px}.hero-upcoming{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:8px;padding:7px 10px}}

/* Carry the Tower Group corner shape into the journal. */
.blog-card>img,.article-image>img{border-radius:var(--tower-corner) 0 var(--tower-corner) 0}

/* Publications and footer social links. */
.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.publication-card{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:26px;background:var(--soft);border-radius:var(--tower-corner) 0 var(--tower-corner) 0;transition:box-shadow .2s}
.publication-card:hover{box-shadow:0 6px 24px #00000012}
.publication-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.publication-language{padding:4px 9px;border-radius:20px;background:var(--paper);color:var(--ink);font-size:11px}
html[lang] .publication-card h2,html[lang] .publication-card h3{font-size:22px;line-height:1.4;letter-spacing:-.025em;text-wrap:wrap;margin:0}
.publication-read{margin-top:auto;padding-top:4px;font-size:12px;color:var(--ink)}
.footer-social{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:22px}
.footer-social a{display:inline-flex;align-items:center;gap:7px;font-size:12px;min-height:40px}
.footer-social svg{flex-shrink:0}
.footer-social a:hover{color:var(--ink)}
@media(max-width:1000px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.publication-grid{grid-template-columns:1fr;gap:16px}.publication-card{padding:24px;gap:18px}html[lang] .publication-card h2,html[lang] .publication-card h3{font-size:20px}}

@media(max-width:380px){.brand-slide-lockup{padding:10px}.brand-slide-role{font-size:9px;margin-top:8px}.hero-carousel .brand-slide-lockup img{width:50px;height:50px;margin-bottom:9px}.brand-slide-lockup strong{font-size:26px}.brand-slide-lockup p{margin-top:6px;font-size:9px}}

/* A dedicated brand opening, followed by the project collection. */
.brand-intro{position:relative;display:grid;place-items:center;min-height:calc(100svh - var(--header));padding:60px 24px 100px;overflow:hidden;background:#203b54;color:#fff;text-align:center}
.brand-intro-content{display:flex;align-items:center;flex-direction:column}
.brand-intro-identity{display:flex;align-items:center;flex-direction:column;gap:18px}
.brand-intro-identity img{width:clamp(88px,10vw,136px);height:auto;aspect-ratio:1;object-fit:contain}
.brand-intro-identity>span{font-size:clamp(28px,3vw,42px);line-height:1.1;font-weight:500;letter-spacing:-.05em}
.brand-intro-role{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:#b9ccdc;margin:17px 0 32px}
html[lang=ka] .brand-intro-role{letter-spacing:.07em}
.brand-intro h1{font-family:Inter,sans-serif;font-size:clamp(60px,7.8vw,108px);font-weight:400;line-height:.98;letter-spacing:-.065em;color:white;margin:0 0 32px}
.brand-intro h1>span{color:#a7bfd1}
.brand-intro .button{gap:22px;padding:15px 27px;font-size:14px;min-height:50px}
.brand-intro-discover{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#c5d5e1;font-size:11px;letter-spacing:.035em;white-space:nowrap}
.brand-intro-discover>span{font-size:22px;line-height:1}
.home-hero.project-showcase{padding-block:90px 60px;scroll-margin-top:30px}
.project-showcase .hero-copy h2{font-size:clamp(34px,3.4vw,52px);max-width:580px;line-height:1.15}
@media(prefers-reduced-motion:no-preference){.brand-intro-identity{animation:brand-arrive .85s var(--ease) both}.brand-intro-role{animation:brand-arrive .85s .12s var(--ease) both}.brand-intro h1{animation:brand-arrive .9s .22s var(--ease) both}.brand-intro .button{animation:brand-arrive .85s .35s var(--ease) both}}
@media(max-width:760px){.brand-intro{min-height:calc(100svh - var(--header));padding:42px 20px 108px}.brand-intro-identity{gap:14px}.brand-intro-identity img{width:86px}.brand-intro-identity>span{font-size:30px}.brand-intro-role{font-size:10px;margin:14px 0 28px}.brand-intro h1{font-size:clamp(54px,13vw,86px);margin-bottom:28px}.brand-intro-discover{bottom:28px}.home-hero.project-showcase{padding-block:48px 32px}.project-showcase .hero-copy h2{font-size:32px}}
@media(max-height:740px) and (min-width:761px){.brand-intro{padding-top:36px;padding-bottom:82px}.brand-intro-identity img{width:84px}.brand-intro-identity>span{font-size:28px}.brand-intro-role{margin:12px 0 22px}.brand-intro h1{font-size:72px;margin-bottom:24px}}
/* The mark and cover respond together to the chosen colour scheme. */
.brand-intro{background:#f5f7f9;color:#213b56;transition:background-color .4s,color .4s}
.brand-intro-mark{display:block;width:clamp(88px,10vw,136px);height:auto;aspect-ratio:1;background:currentColor;mask:url('../assets/tg-symbol-white.svg') center/contain no-repeat;-webkit-mask:url('../assets/tg-symbol-white.svg') center/contain no-repeat}
.brand-intro h1{color:inherit}
.brand-intro-role,.brand-intro-discover{color:#60788c}
.brand-intro h1>span{color:#7f9bb0}
.brand-intro .button.light{background:#213b56;color:#fff}
.brand-intro .button.light:hover{background:#34556f}
[data-theme=dark] .brand-intro{background:#1b334b;color:#fff}
[data-theme=dark] .brand-intro-role,[data-theme=dark] .brand-intro-discover{color:#b9ccdc}
[data-theme=dark] .brand-intro .button.light{background:#fff;color:#213b56}
[data-theme=dark] .brand-intro .button.light:hover{background:#dce8f0}
@media(max-width:760px){.brand-intro-mark{width:86px}}
@media(max-height:740px) and (min-width:761px){.brand-intro-mark{width:84px}}
@media(prefers-reduced-motion:reduce){.brand-intro{transition:none}}
@media(max-width:760px){.brand-intro{padding-bottom:150px}.brand-intro-discover{bottom:92px}}
/* Brand and architecture share the first screen. */
.brand-intro.brand-editorial{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(36px,5vw,80px);min-height:0;padding:90px 0 72px;background:transparent;color:var(--ink);text-align:left;overflow:visible}
.brand-editorial .brand-intro-content{align-items:flex-start}
.brand-editorial .brand-intro-identity{flex-direction:row;gap:17px;align-items:center}
.brand-editorial .brand-intro-mark{width:70px;flex-shrink:0}
.brand-editorial .brand-intro-identity>span:not(.brand-intro-mark){font-size:clamp(26px,2.6vw,36px)}
.brand-editorial .brand-intro-role{margin:23px 0 26px;color:var(--muted);font-size:12px}
.brand-editorial h1{font-size:clamp(56px,5.8vw,82px);margin-bottom:34px;letter-spacing:-.065em}
.brand-editorial .hero-visual{width:100%;align-self:center;min-width:0}
.brand-editorial .hero-caption{color:var(--text)}
.brand-editorial .button.light{background:#213b56;color:#fff}
[data-theme=dark] .brand-intro.brand-editorial{background:transparent;color:#edf2f7}
[data-theme=dark] .brand-editorial .button.light{background:#edf2f7;color:#213b56}
@media(max-width:760px){.brand-intro.brand-editorial{grid-template-columns:1fr;gap:36px;padding:38px 0 34px}.brand-editorial .brand-intro-identity{gap:14px}.brand-editorial .brand-intro-mark{width:56px}.brand-editorial .brand-intro-identity>span:not(.brand-intro-mark){font-size:28px}.brand-editorial .brand-intro-role{margin:19px 0 21px;font-size:11px}.brand-editorial h1{font-size:clamp(54px,11vw,76px);margin-bottom:25px}.brand-editorial .hero-caption{gap:12px}.brand-editorial .hero-caption .project-button{font-size:11px}}
/* A single oversized signature, with no competing content in the opening. */
.brand-intro.brand-monument{min-height:calc(92svh - var(--header));padding:96px var(--gutter) 100px;background:var(--paper);color:#213b56}
.brand-monument .brand-intro-content{width:100%;max-width:1160px;align-items:center;position:relative}
.brand-monument .brand-intro-identity{flex-direction:row;align-items:center;justify-content:center;gap:clamp(28px,4.5vw,70px);width:100%;order:2}
.brand-monument .brand-intro-mark{flex:none;width:clamp(120px,17vw,230px)}
.brand-monument .brand-intro-identity h1{font-family:Inter,sans-serif;font-size:clamp(60px,9vw,132px);font-weight:500;white-space:nowrap;line-height:1;letter-spacing:-.065em;margin:0;color:inherit}
.brand-monument .brand-intro-role{order:1;font-size:13px;letter-spacing:.23em;margin:0 0 48px;color:var(--muted)}
html[lang=ka] .brand-monument .brand-intro-role{letter-spacing:.13em}
.brand-monument .brand-monument-slogan{order:3;font-family:Inter,sans-serif;font-size:clamp(20px,2.5vw,34px);font-weight:400;letter-spacing:-.035em;color:inherit;margin:42px 0 0}
.brand-monument .button.light{order:4;background:transparent;color:inherit;border:1px solid var(--line);margin-top:46px;font-size:12px;min-height:44px;padding:11px 24px}
.brand-monument .button.light:hover{background:var(--soft);transform:none}
[data-theme=dark] .brand-intro.brand-monument{background:var(--paper);color:#edf2f7}
[data-theme=dark] .brand-monument .button.light{background:transparent;color:inherit}
.monument-projects{max-width:1120px;padding-top:30px;padding-bottom:72px}
.monument-projects .hero-caption{margin-top:20px}
@media(max-width:760px){.brand-intro.brand-monument{min-height:calc(85svh - var(--header));padding:72px 22px 68px}.brand-monument .brand-intro-identity{gap:18px}.brand-monument .brand-intro-mark{width:clamp(60px,16vw,100px)}.brand-monument .brand-intro-identity h1{font-size:clamp(34px,8.3vw,62px)}.brand-monument .brand-intro-role{font-size:10px;margin-bottom:36px}.brand-monument .brand-monument-slogan{font-size:22px;margin-top:30px}.brand-monument .button.light{margin-top:36px}.monument-projects{padding-top:12px;padding-bottom:45px}}

.brand-scroll-arrow{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:44px;color:var(--muted);border-radius:50%}
.brand-scroll-arrow:hover{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){.brand-scroll-arrow svg{animation:brand-scroll-hint 2.4s ease-in-out infinite}@keyframes brand-scroll-hint{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}}
.brand-scroll-arrow{width:max-content;max-width:calc(100% - 44px);height:auto;min-height:44px;display:flex;flex-direction:column;gap:9px;border-radius:0;text-align:center;font-size:11px;line-height:1.5;letter-spacing:.035em}
.brand-scroll-arrow svg{flex-shrink:0}
/* Type each word once, retaining its full footprint and accessible text. */
.brand-monument .brand-intro-identity,.brand-monument h1{animation:none}
.brand-typing{white-space:pre}
.brand-typing-char{position:relative;opacity:0}
.brand-typing-char.is-typed{opacity:1}
.brand-monument h1>.brand-typing{color:inherit}
@media(prefers-reduced-motion:reduce){.brand-typing-char{opacity:1}.brand-typing-char::after{display:none}}

/* A slightly tighter opening and project stage. */
.brand-intro.brand-monument{min-height:calc(84svh - var(--header));padding-block:76px 88px}
.brand-monument .brand-monument-slogan{margin-top:32px}
.brand-monument .button.light{margin-top:34px}
.monument-projects{max-width:1000px;padding-top:20px;padding-bottom:54px}
.monument-projects .hero-caption{margin-top:14px}
@media(max-width:760px){.brand-intro.brand-monument{min-height:calc(77svh - var(--header));padding-block:54px 80px}.brand-monument .brand-monument-slogan{margin-top:24px}.brand-monument .button.light{margin-top:28px}.monument-projects{width:calc(100% - var(--gutter)*2);padding-top:8px;padding-bottom:34px}}
html[lang=ka] .brand-monument .brand-monument-slogan{font-family:"Noto Sans Georgian",Inter,sans-serif;letter-spacing:-.025em}
@media(max-width:380px){html[lang=ka] .brand-monument .brand-monument-slogan{font-size:19px}}
.brand-monument .brand-scroll-arrow{bottom:40px}
#featured-projects{scroll-margin-top:0}
@media(min-width:761px){.monument-projects{max-width:min(1060px,calc((100svh - var(--header) - 190px)*16/9))}}
.desktop-links a{white-space:nowrap}
@media(min-width:761px) and (max-width:1100px){.nav{gap:18px}.desktop-links{gap:16px;font-size:12px}.nav-tools{gap:12px}}

/* Publication cards use Tower Group blue for hover and keyboard focus. */
.publication-card{transition:background-color .22s,color .22s,box-shadow .22s}
.publication-card:is(:hover,:focus-visible){background:#213b56;color:#fff;box-shadow:none}
.publication-card:is(:hover,:focus-visible) :is(h2,h3,.publication-read){color:#fff}
.publication-card:is(:hover,:focus-visible) .publication-meta{color:#d5e1ec}
.publication-card:is(:hover,:focus-visible) .publication-language{background:#fff;color:#213b56}
@media(prefers-reduced-motion:reduce){.publication-card{transition:none}}

/* Keep the Del Mare registration action clear of the chapter text. */
.chapter-copy > .button{margin-top:24px;max-width:100%;font-size:14px;padding:14px 20px;white-space:nowrap;justify-content:center}
@media(max-width:380px){.chapter-copy > .button{font-size:12px;padding-inline:16px}}

/* Keep the discovery cue in normal flow so short viewports cannot overlap it. */
.brand-intro.brand-monument{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(36px,6svh,64px);padding-block:clamp(40px,7svh,76px) clamp(28px,4svh,44px)}
.brand-monument .brand-scroll-arrow{position:static;inset:auto;transform:none;margin:0 auto;flex:none;align-self:center;width:fit-content;max-width:100%;gap:10px;text-align:center}
.brand-monument .brand-intro-content{flex:none;min-width:0}
.brand-monument .button.light{max-width:100%;text-align:center}
@media(max-width:760px){.brand-intro.brand-monument{gap:36px;padding-inline:20px}.brand-monument .brand-intro-identity{gap:clamp(12px,3vw,18px)}.brand-monument .brand-intro-identity h1{font-size:clamp(30px,8.3vw,62px)}.brand-monument .brand-intro-mark{width:clamp(52px,16vw,100px)}.brand-monument .brand-monument-slogan{max-width:100%;text-align:center}}
