/* RIGHETTO — bendras stilius */
@property --menu-progress {
  syntax: '<number>';
  inherits: true;
  initial-value: 0;
}
:root {
  --bg: #FFFFFF;
  --ink: #111111;
  --grey-1: #444444;
  --grey-2: #555555;
  --grey-3: #6B6B6B;
  --pale: #F0F0EE;
  --rule: #E2E2E0;
  --rule-2: #DCDCDA;
  --black: #000000;
  --mobile-size-reduction: 0px;
  --body-size: 14px;
  --language-size: calc(16px - var(--mobile-size-reduction));
  --language-spacing: .06em;
  --menu-duration: .28s;
  --menu-ease: cubic-bezier(.2, .8, .2, 1);
  /* Adobe Fonts Web Project supplies minion-pro; EB Garamond remains the preview fallback. */
  --serif: 'minion-pro', 'EB Garamond', Georgia, serif;
  --sans: 'proxima-nova', 'Proxima Nova', Archivo, 'Helvetica Neue', Arial, sans-serif;
  --caption-size: calc(clamp(16px, calc(1.15vw + 2px), 18px) - var(--mobile-size-reduction));
  --image-caption-size: 15px;
  --small-size: 14px;
  --caption-spacing: .08em;
  --entry-label-size: 13px;
  --entry-label-spacing: .04em;
  --gutter: clamp(16px, 3vw, 40px);
  /* Antraštė, logotipas, poraštės apačia — vienodas tarpas iki krašto iš šonų ir viršaus/apačios.
     Nuorodos yra 44px aukščio; --edge-top / --mark-top atima tuščią plotą virš raidžių, kad jų viršus būtų per --edge nuo krašto (išmatuota naršyklėje). */
  --edge: clamp(18px, 1.2vw, 20px);
  --edge-top: calc(var(--edge) - 16px);
  --mark-top: calc(var(--edge) - 15px);
  --edge-bottom: calc(var(--edge) - 14px);
  --space: clamp(72px, 9vw, 128px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--ink); }
a:hover { color: var(--grey-2); }
h1, h2, h3 { margin: 0; }
p { margin: 0; }
/* Neutral feedback across touch, text selection and keyboard navigation. */
html { -webkit-tap-highlight-color: transparent; }
::selection { background: #DEDED5; color: var(--ink); }
input, select { accent-color: var(--ink); }
:where(a, button, input, textarea, select, summary, [tabindex]):focus:not(:focus-visible) {
  outline: none;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 3px;
}
.sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
[hidden] { display: none !important; }
.skip-link { position:fixed; left:16px; top:12px; z-index:100; padding:12px; background:var(--bg); transform:translateY(calc(-100% - 24px)); }
.skip-link:focus-visible { transform:translateY(0); }

/* Mobile text is two pixels smaller; the smallest tier and image captions keep their own sizes. */
@media (max-width: 760px) { :root { --body-size: 14px; --mobile-size-reduction: 2px; --image-caption-size: 12px; } }
/* Overlay navigation keeps its original type scale, including inherited text and language links. */
.mnav { --mobile-size-reduction: 0px; --language-size: 16px; }

/* Nuorodos */
.n { text-decoration: none; text-underline-offset: 5px; }
.n:hover, .n[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; }
.l { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.l:hover { text-decoration-color: transparent; }
/* Antraštės ir poraštės nuorodos — blanki linija; užvedus — ryški */
.hdr .nav > .n, .hdr .nav > .pj > button, .hdr .nav > .pj > a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-decoration-color: color-mix(in srgb, currentColor 18%, transparent); transition: text-decoration-color .2s; }
.ftr-bottom .l { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); transition: text-decoration-color .2s; }
.hdr .nav > .n:hover, .hdr .nav > .pj > button:hover, .hdr .nav > .pj > a:hover, .hdr .nav > .pj > a[aria-current="page"], .hdr .nav > .pj > button[aria-expanded="true"], .ftr-bottom .l:hover { text-decoration-color: currentColor; }

/* Antraštė — vienos eilutės, maišoma su vaizdu */
.hdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 20;
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; gap: 24px;
  padding: var(--edge-top) var(--edge);
  mix-blend-mode: difference; color: #FFFFFF;
}
.hdr a, .hdr button { color: #FFFFFF; }
.hdr-spacer { width: 250px; grid-column: 2; }
.hdr-end { grid-column: 3; justify-self: end; display: flex; align-items: center; }
.nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; }
.nav-end { justify-content: flex-end; }
.nav a, .nav button, .burger {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; white-space: nowrap;
}
.nav button, .burger {
  padding: 0; background: transparent; border: 0; cursor: pointer;
}
.burger { display: none; }

/* Inner pages return to their section entrance. */
.hdr-start { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 24px; }
.hdr-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; white-space: nowrap; }
.hdr .hdr-back, .hdr .hdr-back:hover, .hdr .hdr-back:focus-visible { text-decoration: none; }
.hdr-back > span:last-child { text-decoration:none; }
.hdr-back .arrow-label { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; text-decoration-color:color-mix(in srgb,currentColor 18%,transparent); }
.hdr-back:hover .arrow-label, .hdr-back:focus-visible .arrow-label { text-decoration-color:currentColor; }
.hdr .hdr-back-mobile { display: none; }
.hdr-inner-gallery .hdr-end { grid-row: 1; gap: 0; }
@media (max-width: 900px) {
  .hdr-inner-studio, .hdr-inner-gallery { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; }
  .hdr-inner-studio .hdr-spacer, .hdr-inner-gallery .hdr-spacer { width: 0; }
  .hdr-inner-studio .burger { position:relative; right:auto; top:auto; }
  .hdr-inner-studio .hdr-back { color: inherit; }
  .hdr-inner-studio .hdr-back-mobile { display: inline-flex; }
}
@media (max-width: 1240px) {
  body .hdr.hdr-inner-gallery .nav { display: none; }
  body .hdr.hdr-inner-gallery .burger { display: inline-flex; }
  .hdr-inner-gallery .hdr-spacer { width: 0; }
  .hdr-inner-gallery .hdr-back-mobile { display: inline-flex; }
  .hdr-inner-gallery .hdr-end { gap: 0; }
  .hdr-inner-gallery .hdr-end .cart { position: absolute; right: var(--edge); left: auto; top: var(--edge-top); }
}

/* Logotipas — visada grynai juodas */
.mark {
  position: fixed; top: var(--mark-top); left: 50%; transform: translateX(-50%); z-index: 40;
  display: flex; align-items: center; justify-content: center; width: 125px; min-height: 44px; padding: 0; color: #000; text-decoration: none;
}
.mark img { display: block; width: 100%; height: auto; }
.mark-w img, .on-ftr .mark:not(.mark-w) img { filter: invert(1); }
.on-ftr .studio-home .mark:not(.mark-w) img,
.on-ftr .gallery-home .mark:not(.mark-w) img { filter: none; }
.mark:hover { color: #000; }
/* Telefone — optiškai pakeltas, kad mažosios raidės būtų vienoje linijoje su ikonomis */
@media (max-width: 760px) { :root { --edge-top: calc(var(--edge) - 16px); } .mark { width: 115px; transform: translate(-50%, -2px); } }

/* Ties porašte — antraštė juoda, tekstas ir logotipas balti (on-ftr nustato site.js) */
.hdr, .mark, .hdr a, .hdr button { transition: background-color .25s, color .25s; }
.on-ftr body:not(.home) .hdr { background: var(--black); color: #FFFFFF; mix-blend-mode: normal; }
.on-ftr body:not(.home) .hdr a, .on-ftr body:not(.home) .hdr button,
.on-ftr body:not(.home) .mark, .on-ftr body:not(.home) .mark:hover { color: #FFFFFF; }

/* Projektų išskleidžiamas meniu.
   Permatomas, antraštės viduje, todėl maišomas su vaizdu kaip ir antraštė.
   Atsidaro užvedus pelę (arba paspaudus); Koncepcijos ir Archyvas — į šoną. */
.pj, .has-sub { position: relative; }
.pj { display: flex; }
.drop {
  display: none; position: absolute; top: 100%; left: 0;
  margin: 0; padding: 0 0 8px; list-style: none;
}
.pj:hover > .drop, .about-menu:focus-within > .drop, [data-drop][aria-expanded="true"] + .drop,
.has-sub:hover > .drop-2, .has-sub:focus-within > .drop-2 { display: block; }
.drop-2 { top: 0; left: 100%; padding: 0 0 8px 28px; }
.nav .drop a, .nav .drop button { min-height: 34px; gap: 8px; }
.drop .n { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-decoration-color: color-mix(in srgb, currentColor 18%, transparent); transition: text-decoration-color .2s; }
.drop .n:hover, .drop .n:focus-visible, .drop .has-sub:hover > .n, .drop .n[aria-current="page"] { text-decoration-color: currentColor; }

/* Mobilus meniu */
/* Mygtukas — kairėje, dvi linijos; atidarius virsta kryželiu. Tekstas lieka ekrano skaitytuvams. */
.burger {
  grid-column: 1; grid-row: 1; justify-self: start;
  position: relative; width: 44px;
  overflow: hidden; text-indent: -999px;
}
.burger::before, .burger::after {
  content: ''; position: absolute; left: 0; width: 18px; height: 1.5px;
  background: currentColor; transition: transform var(--menu-duration) var(--menu-ease);
}
.burger::before { top: calc(50% - 4px); }
.burger::after { top: calc(50% + 3px); }
.burger[aria-expanded="true"]::before { transform: translateY(3.5px) rotate(45deg); }
.burger[aria-expanded="true"]::after { transform: translateY(-3.5px) rotate(-45deg); }

/* Skydelis — per visą ekraną, greitai išslysta iš dešinės kartu su turiniu */
.mnav {
  position: fixed; inset: 0; z-index: 15;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  padding: 96px var(--gutter) 0; background: var(--bg);
  display: flex; flex-direction: column; align-items: center; text-align: center;
  opacity: 0; transform: translateX(100%);
  transition: transform var(--menu-duration) var(--menu-ease), opacity var(--menu-duration) var(--menu-ease);
}
.mnav.is-open { opacity: 1; transform: none; }
/* On the black footer, the opaque panel carries the color change across the
   controls as it slides; fading it would wash out inverted badge text. */
html.menu-active.on-ftr .mnav { opacity:1; transition:transform var(--menu-duration) var(--menu-ease); }
/* One progress value keeps the original controls in step with the sliding overlay. */
html.menu-active { transition: --menu-progress var(--menu-duration) var(--menu-ease); }
html.menu-open { --menu-progress: 1; }
html.menu-active:root body .hdr {
  background: color-mix(in srgb, var(--bg) calc(var(--menu-progress) * 100%), var(--menu-header-background, var(--bg))); mix-blend-mode: normal;
  --menu-color: rgb(calc(255 * var(--menu-origin, 0) * (1 - var(--menu-progress))) calc(255 * var(--menu-origin, 0) * (1 - var(--menu-progress))) calc(255 * var(--menu-origin, 0) * (1 - var(--menu-progress))));
  color: var(--menu-color); transition: none;
  --menu-badge-channel: calc(255 * var(--menu-origin, 0) * (1 - var(--menu-progress)));
}
html.menu-active:root body .hdr a, html.menu-active:root body .hdr button { color: var(--menu-color); transition: none; }
html.menu-active:root body .mark img,
html.menu-active.on-ftr:root body .mark:not(.mark-w) img { filter: invert(calc(var(--menu-logo-invert, 0) * (1 - var(--menu-progress)))); }
/* The badge shares the same progress as the icon, logo and sliding panel. */
html.menu-active:root body .cart-count { background: rgb(var(--menu-badge-channel) var(--menu-badge-channel) var(--menu-badge-channel)); color: rgb(calc(255 - var(--menu-badge-channel)) calc(255 - var(--menu-badge-channel)) calc(255 - var(--menu-badge-channel))); transition: none; }
html.menu-restoring:root body .hdr, html.menu-restoring:root body .hdr a,
html.menu-restoring:root body .hdr button, html.menu-restoring:root body .cart-count { transition: none; }
html.menu-open, html.menu-open body, html.menu-closing, html.menu-closing body { overflow: hidden; overscroll-behavior: none; }
/* Centruoja nuorodas virš apatinės juostos, bet ilgas sąrašas nepasislepia viršuje */
.mnav > :first-child { margin-top: auto; }
.mnav a {
  padding: 7px 0; /* visi meniu punktai — kaip Apie poskyriai */
  color: var(--ink); text-decoration: none; text-underline-offset: .2em;
}
.mnav a:hover, .mnav a:focus-visible {
  color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px;
}
.mnav .sub2 { color: var(--grey-1); }

/* Vienas kalbos ženklas meniu apačioje, be skiriamųjų linijų. */
.mnav-bar {
  position: sticky; bottom: 0; align-self: stretch;
  display: flex; justify-content: center;
  margin: auto calc(-1 * var(--gutter)) 0;
  background: var(--bg);
}
.mnav-bar > * {
  display: flex; align-items: center; justify-content: center; min-height: 72px;
}
.mnav .mnav-bar a, .mnav-lang span {
  padding: 10px 18px;
  color: var(--ink); text-decoration: none;
}
.mnav .mnav-bar a:hover, .mnav .mnav-bar a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.mnav-label {
  padding: 22px 0 8px; text-transform: uppercase;
  color: var(--grey-3);
}
.mnav .mnav-label.sub { padding-top: 22px; text-transform: none; color: var(--grey-3); }
.mnav .mnav-label.sub::after { content: ' /'; }
/* Projektų sąrašas atsidaro virš pagrindinio meniu. */
.mnav button.n {
  padding: 7px 0; background: none; border: 0; cursor: pointer; color: var(--ink); text-underline-offset: .2em;
}
.mnav button.n:hover, .mnav button.n:focus-visible { text-decoration: underline; text-decoration-thickness: 1px; }
.mnav button.n.is-current { text-decoration: underline; text-decoration-thickness: 1px; }
.mnav > :has(+ .mnav-bar) { margin-bottom: 56px; }
.mnav > .mnav-panel, .mnav.is-open > .mnav-panel {
  position: fixed; inset: 0; z-index: 1; margin: 0;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  overflow-x: hidden; overflow-y: auto; padding: 96px var(--gutter) 0; background: var(--bg);
  opacity: 1; transform: translateX(100%); visibility: hidden;
  transition: transform .28s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .28s;
}
.mnav.is-open > .mnav-panel.is-open {
  transform: none; visibility: visible;
  transition: transform .28s cubic-bezier(.2, .8, .2, 1), visibility 0s;
}
.mnav-panel { scrollbar-width: none; }
.mnav-panel > :first-child { margin-top: auto; }
.mnav-panel > :last-child { margin-bottom: auto; }
.mnav .mnav-back {
  align-self: stretch; min-height: 52px; margin-bottom: 20px; padding: 0 8px;
  background: none; border: 0; cursor: pointer; text-align: center; color: var(--ink);
}
.mnav .mnav-back:hover, .mnav .mnav-back:focus-visible { opacity: .55; }
.mnav .mnav-title { margin-bottom: 4px; }
.mnav .mnav-title[aria-current="page"], .mnav-panel .n[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; }
@media (prefers-reduced-motion: reduce) {
  html.menu-active { transition: none; }
  .mnav, .mnav > *, .mnav > .mnav-panel, .mnav.is-open > .mnav-panel, .mnav.is-open > .mnav-panel.is-open, .burger::before, .burger::after { transition: none; }
}

@media (max-width: 900px) {
  .nav { display: none; }
  .burger { display: inline-flex; }
  .hdr-spacer { width: 200px; }
}
@media (max-width: 1240px) {
  .hdr-g .nav { display: none; }
  .hdr-g .burger { display: inline-flex; }
}

.lang { display: flex; gap: 18px; }
.lang a {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--muted);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
  text-decoration-color: transparent; transition: color .3s var(--ease), text-decoration-color .3s var(--ease);
}
.home .hdr .lang a { color: var(--ink); text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); }
.home .hdr .lang a:hover, .home .hdr .lang a:focus-visible { color: var(--ink); text-decoration-color: currentColor; }
/* Atsiradimas: viskas tiesiog išryškėja */
@keyframes fade { from { opacity: 0; } }

/* Vidiniai puslapiai: trumpesnis to paties skaidrėjimo variantas matomiems elementams. */
.fade-in { opacity: 0; transition: opacity .42s var(--ease); }
.fade-in.is-visible { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .fade-in { opacity: 1; transition: none; }
}

/* Perėjimas į kitą puslapį — uždanga fono spalvos */
.veil {
  position: fixed; inset: 0; z-index: 100; pointer-events: none;
  background: var(--bg); opacity: 0; transition: opacity .3s var(--ease);
}
.is-leaving .veil { opacity: 1; pointer-events: auto; }

@media (prefers-reduced-motion: reduce) {
  .home *, .home *::before, .home *::after { animation: none !important; transition-duration: .01ms !important; }
  .veil { display: none; }
}

/* Projektų sąrašas — trys nuotraukos projektui */
.rows { display: flex; flex-direction: column; }
/* Desktop images reach the top edge; on mobile they begin at the header bottom. */
.projects-main { padding-top: 0; }
@media (max-width: 900px) {
  .projects-main { padding-top: calc(44px + 2 * var(--edge-top)); }
}
.row {
  position: relative; display: flex; color: #FFFFFF; text-decoration: none;
  background: var(--bg);
}
.row:is(:active, :focus-visible)::after {
  content: ""; position: absolute; inset: 0; z-index: 2;
  border: 1px solid #FFFFFF; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .45);
  pointer-events: none;
}
.row-tile { position: relative; flex: 1 1 0; min-width: 0; aspect-ratio: 2 / 3; overflow: hidden; }
.row-tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Antrinė nuotrauka — užvedus pelę ant plytelės pakeičia viršelį iškart, kaip righetto.lt */
.row .row-alt { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .row-tile:hover .row-alt { opacity: 1; }
}
.row-label {
  position: absolute; left: var(--gutter); bottom: 24px;
  mix-blend-mode: difference; text-transform:uppercase;
  text-decoration: none;
}
.row:hover .row-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* Nuotraukų tinklelis — be tarpų, kraštas į kraštą, nekarpoma */
.grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr));
  background: var(--bg);
}
.grid figure { margin: 0; aspect-ratio: 3 / 4; background: var(--bg); }
/* Koncepcijos ir archyvas — 3 stulpeliai su tarpais, 2:3, kaip righetto.lt */
.grid.gap3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2vw; padding: 62px 2.75vw 6vw; }
.grid.gap3 figure { aspect-ratio: 2 / 3; }
.grid.gap3 img { object-fit: cover; }
/* Telefone — kaip righetto.lt: nuotraukos nekarpomos, plačios paraštės ir tarpai */
@media (max-width: 760px) {
  .grid.gap3 { grid-template-columns: 1fr; gap: 56px; padding: 60px 28px 56px; }
  .grid.gap3 figure { aspect-ratio: auto; }
  .grid.gap3 img { height: auto; }
}
.grid.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.g3 img { object-fit: cover; mix-blend-mode: multiply; } /* nuotraukų balti rėmeliai → var(--bg) */
@media (max-width: 760px) { .grid.g3 { grid-template-columns: 1fr; } }
.grid img { width: 100%; height: 100%; object-fit: contain; }

/* Puslapio viršus */
.page-top { padding: 128px var(--gutter) 48px; }
.page-top p { margin-top: 6px; color: var(--grey-3); }
.pager {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 32px;
  padding: 40px var(--gutter) 72px;
}

/* Tekstas */
.col { max-width: 640px; margin: 0 auto; padding: var(--space) var(--gutter) 0; }
.col.pb { padding-bottom: var(--space); }
.wide { max-width: 960px; margin: 0 auto; padding: var(--space) var(--gutter) 0; }
.wide.pb { padding-bottom: var(--space); }
.intro { max-width: 560px; margin-bottom: 48px; }
.kicker { margin-bottom: 12px; text-transform:uppercase; color:var(--ink); }
.h1 { margin-bottom: 24px; }
.h1.tight { margin-bottom: 12px; }
.h2 { margin-bottom: 16px; }
.h2.tight { margin-bottom: 12px; }
.lead { margin-bottom: 16px; }
.txt { color: var(--grey-1); }
.txt + .txt { margin-top: 16px; }
.txt.gap { margin-bottom: 48px; }
.meta { color: var(--grey-3); }
.links { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.closing {
  padding: clamp(96px, 12vw, 160px) var(--gutter);
  text-align: center;
}
.pale { background: var(--pale); }
.band { padding: var(--space) var(--gutter); }
.band .inner { max-width: 560px; margin: 0 auto; }
.plain { margin: 0; padding: 0; list-style: none; color: var(--grey-1); }

.defs { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 28px 64px; }
.defs.narrow { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 28px 48px; }
.defs dd { margin: 2px 0 0; color: var(--grey-2); }

.full { width: 100%; object-fit: cover; }
.r21-9 { aspect-ratio: 21 / 9; }
.r21-8 { aspect-ratio: 21 / 8; }
.hero { width: 100%; height: clamp(480px, 56vw, 820px); object-fit: cover; }
.strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.strip img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

/* Kalendorius — visible schedule, restrained month grid. */
.cal { display:flex; flex-direction:column; gap:16px; }
.cal-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cal-arrow { width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0; background:transparent; border:0; border-radius:0; color:var(--ink); cursor:pointer; }
.cal-arrow:disabled { color:#aaa99f; cursor:default; }
.cal-guide { color:var(--grey-3); }
.cal-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; }
.cal-wd { text-align:left; padding:0 8px 10px; color:var(--grey-3); }
.cal-grid[data-days] { border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
.cal-day,.cal-empty { min-width:0; min-height:110px; padding:10px 8px; border:0; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.cal-day { display:flex; flex-direction:column; align-items:flex-start; gap:12px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.cal-day small { color:var(--grey-3); }
.cal-times { display:flex; flex-direction:column; gap:5px; width:100%; font-variant-numeric:tabular-nums; }
.cal-time { display:block; white-space:nowrap; }
.cal-day[aria-pressed="true"] { background:var(--black); color:#fff; }
.cal-day[aria-pressed="true"] small { color:#fff; }
.cal-day:not([aria-pressed="true"]):not(.closed):hover { background:#f2f1ee; }
.cal-day.closed,.cal-empty { background:#fafaf8; color:#aaa99f; cursor:default; }
.cal-day.closed small { color:#aaa99f; }
.cal-legend { display:flex; flex-wrap:wrap; gap:10px 20px; color:var(--grey-3); }
.cal-legend>span { display:flex; align-items:center; gap:7px; }
.cal-key { width:7px; height:7px; border:1px solid var(--ink); }
.cal-key-selected { background:var(--ink); }
.cal-sel { display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--rule); padding-top:18px; }
.cal-selection-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 16px; }
.cal-selection-time { font-variant-numeric:tabular-nums; color:var(--grey-3); }
.cal-slots { display:flex; flex-wrap:wrap; gap:8px; }
.cal-slot { min-height:44px; padding:0 14px; background:transparent; color:var(--ink); border:1px solid var(--rule); cursor:pointer; }
.cal-slot[aria-pressed="true"] { background:var(--black); border-color:var(--black); color:#fff; }
.cal-note { color:var(--grey-3); }
.cal-day:focus-visible,.cal-slot:focus-visible,.cal-arrow:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(max-width:600px) {
 .cal-day,.cal-empty { min-height:100px; padding:10px 5px; }
 .cal-time-end { display:none; }
 .cal-wd { padding-inline:5px; }
}
@media(max-width:360px) { .cal-day,.cal-empty { padding-inline:3px; } }

/* Each tour carries its own seat count and language marker. */
.cal-tour { display:flex; flex-wrap:wrap; align-items:center; gap:3px 5px; padding-block:4px; }
.cal-tour .cal-tour-meta { display:contents; }
.cal-tour .cal-time-end { display:none; }
.cal-tour.is-sold-out .cal-time { text-decoration:line-through; text-decoration-thickness:1px; opacity:.55; }
.cal-seat-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; padding:1px 3px; border:1px solid currentColor; }
.cal-language-line { flex-basis:100%; display:flex; justify-content:flex-start; }
.cal-tour .cal-language { min-width:22px; padding:1px 3px; }
.cal-day,.cal-empty { min-height:84px; padding-block:8px; }
.cal-day { gap:8px; }
.cal-times { gap:2px; }
.cal-tour+.cal-tour { border-top:1px solid var(--rule); }
.cal-tour-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; }
.cal-remaining { display:block; white-space:normal; }
.cal-remaining-count { color:var(--ink); }
.cal-language { display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding:2px 4px; border:1px solid currentColor; color:var(--ink); }
.cal-slot .cal-tour-meta { margin-top:6px; text-align:left; }
.cal-slot:has(.cal-tour-meta) { padding-block:10px; }
.cal-slot[aria-pressed="true"] .cal-remaining-count,.cal-slot[aria-pressed="true"] .cal-language { color:#fff; }
.cal-day[aria-pressed="true"] .cal-remaining-count,.cal-day[aria-pressed="true"] .cal-language { color:#fff; }
.cal-day[aria-pressed="true"] .cal-tour+.cal-tour { border-color:#ffffff45; }
.cal-preview-note { color:var(--grey-3); }
@media(max-width:600px) { .cal-tour { gap:3px 2px; } .cal-seat-badge { min-width:14px; padding:1px 2px; } .cal-tour-meta { gap:3px; } .cal-slot .cal-remaining-label { display:block; } .cal-day,.cal-empty { padding-inline:3px; } }

/* Bilietai */
.ticket {
  max-width: 680px; margin: 0 auto;
  padding: 128px var(--gutter) var(--space);
  display: flex; flex-direction: column; gap: 48px;
}
.ticket fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.ticket legend { padding: 0 0 12px; }
.qty {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 6px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
}
.qty-ctl { display: flex; align-items: center; }
.qty-ctl button {
  width: 44px; height: 44px; background: transparent; border: 0;
  color: var(--ink); cursor: pointer;
}
.qty-ctl output { min-width: 28px; text-align: center; }
.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 24px 32px; }
.fields label { display: flex; flex-direction: column; color: var(--grey-3); }
.fields input {
  padding: 8px 0; background: transparent; border: 0; border-bottom: 1px solid #CCCCCC;
  border-radius: 0; color: var(--ink);
}
.order { display: flex; flex-direction: column; gap: 16px; padding: 28px; border: 1px solid var(--ink); }
.order dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 24px; }
.order dt { color: var(--grey-3); }
.order dd { margin: 0; text-align: right; }
.order-total {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px;
  padding-top: 16px; border-top: 1px solid var(--rule);
}
.btn-dark {
  min-height: 44px; padding: 0 24px; background:var(--black); color: #FFFFFF;
  border: 0; cursor: pointer;
}
.status { color: var(--grey-1); }

/* Poraštė — per visą lango aukštį */
.ftr {
  min-height: 100vh; min-height: 100lvh; /* lvh — ir paslėpus naršyklės juostas poraštė pasiekia antraštę */
  display: flex; flex-direction: column;
  background: var(--black); color: #FFFFFF;
}
.ftr a { color: #FFFFFF; }
.ftr-main {
  flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 36px; padding: 120px var(--gutter) 64px; text-align: center;
}
.ftr-box { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 12px; }
.ftr-box h2 { margin: 0 0 4px; }
.ftr-form { display: flex; flex-direction: column; gap: 8px; text-align: left; }
.ftr-row { display: flex; gap: 8px; }
.ftr .in {
  min-height: 44px; padding: 0 12px; background: transparent;
  border: 1px solid #FFFFFF; border-radius: 0; color: #FFFFFF;
}
.ftr .in::placeholder { color: #9A9A9A; }
.ftr textarea.in { padding: 10px 12px; resize: vertical; }
.ftr-row .in { flex-grow: 1; min-width: 0; }
.btn-line {
  min-height: 44px; padding: 0 18px; background: transparent;
  border: 1px solid #FFFFFF; color: #FFFFFF; cursor: pointer;
}
.ftr-form .btn-line { align-self: center; margin-top: 4px; }
.ftr-note { color: #BBBBBB; }
.ftr-bottom {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; gap: 8px 24px; padding: 0 var(--edge) var(--edge-bottom);
}
.ftr-bottom > span { display: flex; flex-wrap: wrap; gap: 0 20px; }
.ftr-bottom > span:last-child { justify-self: end; justify-content: flex-end; }
.ftr-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.ftr-copy { color: #BBBBBB; }
@media (max-width: 600px) {
  .ftr-bottom { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .ftr-bottom > span:last-child { justify-self: center; }
}

/* Šoniniai langai (bilietai, dovanų kuponas, susisiekti) — išslysta iš dešinės; telefone per visą ekraną */
/* Rezervuojam slankjuostės vietą, kad atidarius langą (slinkimas užrakinamas) puslapis nepasislinktų */
html:has(.checkout) { scrollbar-gutter: stable; }
html:has(.checkout[open]) { overflow:hidden; }
/* Šoniniai langai ir mobilus meniu slenka be matomos slankjuostės */
.checkout, .mnav { scrollbar-width:none; }
.checkout::-webkit-scrollbar, .mnav::-webkit-scrollbar { display:none; }
.checkout { position:fixed; inset:0 0 0 auto; width:min(100%,480px); height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; overflow-y:auto; background:var(--bg); color:var(--ink); opacity:0; transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .28s ease-out; }
.checkout.is-open { opacity:1; transform:none; }
.checkout::backdrop { background:rgba(20,20,16,.4); opacity:0; transition:opacity .28s; }
.checkout.is-open::backdrop { opacity:1; }
@media (max-width: 900px) {
  .checkout::backdrop { background:transparent; }
}
.co { min-height:100%; display:flex; flex-direction:column; gap:40px; padding:14px 28px 28px; }
.co-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.co-kicker { text-transform:uppercase; color:#727269; }
.co-close { width:44px; height:44px; margin-right:-12px; display:flex; align-items:center; justify-content:center; padding:0; background:transparent; border:0; color:var(--ink); cursor:pointer; }
.co-when { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.co-change { min-height:32px; padding:0; background:transparent; border:0; color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; cursor:pointer; }

.co-set { margin:0; padding:0; border:0; min-width:0; }
.co-set legend { padding:0 0 12px; }
.co .fields { grid-template-columns:1fr; gap:22px; }
.co-foot { margin-top:auto; display:flex; flex-direction:column; gap:14px; padding-top:24px; border-top:1px solid var(--rule); }
.co-total { display:flex; justify-content:space-between; align-items:baseline; margin:0; }
.co-pay { min-height:52px; padding:0 20px; background:var(--black); color:var(--bg); border:0; cursor:pointer; transition:background .2s; }
.co-pay:hover, .co-pay:focus-visible { background:#000; }
.co-note { margin:0; color:#727269; text-align:center; }
@media(prefers-reduced-motion:reduce) { .checkout, .checkout::backdrop { transition:none; } }
.co-sub { margin:0; color:#57574f; }
.co-phone { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.co .fields textarea { padding:8px 0; background:transparent; border:0; border-bottom:1px solid #CCCCCC; border-radius:0; color:var(--ink); resize:vertical; }
.checkout .fields input, .checkout .fields textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #bcbcb6; border-radius:0; background:transparent; color:var(--ink); }
.checkout .fields textarea { min-height:120px; }
.checkout .fields input:focus-visible, .checkout .fields textarea:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }

/* Galerijos poraštės apačia — trys vietos visuose ekranuose: kairėje, centre, dešinėje */
.ftr-bottom-g, .ftr-bottom.ftr-bottom-g { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); justify-items: stretch; text-align: left; }
.ftr-bottom-g > span:first-child { grid-column: 1; }
.ftr-bottom-g > span:nth-child(2) { grid-column: 2; }
.ftr-bottom-g > span:last-child { grid-column: 3; justify-self: end; text-align: right; }
/* Telefone visa eilutė smulkesnė, kad „Righetto studija ↗“ tilptų į vieną eilutę */
@media (max-width: 600px) {
  .ftr-bottom.ftr-bottom-g { column-gap: 12px; padding-inline: 16px; }
  .ftr-bottom-g a { white-space: nowrap; }
  .ftr-bottom-g > span:nth-child(2) { display: none; }
}

/* Temporary white-background preview across every page. Remove this block to restore the warm off-white surfaces. */
:root, body { --bg: #FFFFFF !important; --pale: #FFFFFF !important; }
.pale { background: #FFFFFF; }

/* Galerijos naujienlaiškis — be rėmelių, viena plona linija kaip studijos formoje */
.ftr-gallery .ftr-main { padding-inline: clamp(32px, 9vw, 48px); }
.ftr-gallery .ftr-row { gap: 16px; border: 1px solid #414141; transition: border-color .2s; }
.ftr-gallery .ftr-row:focus-within { border-color: #D0D0D0; }
.ftr-gallery .ftr-row .in { border: 0; padding: 12px 0 12px 14px; }
.ftr-gallery .in::placeholder { color: #A8A8A8; }
.ftr-gallery .in:focus-visible { outline: none; }
.ftr-gallery .ftr-row .btn-line { display: flex; align-items: center; gap: 8px; padding: 0 14px 0 0; border: 0; transition: opacity .2s; }
.ftr-gallery .ftr-row .btn-line:hover { opacity: .7; }
.ftr-gallery .ftr-note { color: #8E8E8E; }
.newsletter-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ftr-gallery .newsletter-status { color: #fff; }
.ftr-gallery .ftr-row button:disabled { opacity: .5; cursor: wait; }

/* Header-sized, centered wordmark. */
body .mark { width: 156px; }
.row-more { position:absolute; right:var(--gutter); bottom:24px; z-index:3; display:inline-flex; align-items:center; gap:18px; min-height:40px; padding:9px 16px; background:transparent; color:#fff; border:1px solid #fff; transition:background-color .2s,color .2s; }
.row:hover .row-more, .row:focus-visible .row-more { background:#fff; color:#111; }
.ftr-studio .ftr-main { min-height: 280px; }
.ftr-bottom .social-links { display: flex; flex-wrap: nowrap; gap: 4px; }
.social-links a { width: 40px; min-height: 44px; justify-content: center; }
.social-links svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ftr-bottom-g > span:nth-child(2) { display: flex; justify-content: center; }
.empty-page { min-height: 100svh; }
@media (max-width: 860px) {
 body .mark { width: 142px; }
}
@media (max-width: 600px) {
 .ftr-bottom.ftr-bottom-g { padding-inline: 12px; column-gap: 8px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
 .ftr-bottom .social-links { gap: 0; }
 .social-links a { width: 28px; }
 .social-links svg { width: 19px; height: 19px; }
 .row-more { bottom:14px; min-height:32px; padding:6px 10px; gap:10px; }
 .row-more .site-arrow { width:12px; height:12px; }
}

/* Supplied Maps artwork: crop to the mark and match the white footer icons. */
.social-links .maps-icon { filter: grayscale(1) contrast(8); }

.ftr-contact-address { display:inline-flex; align-items:center; gap:16px; min-height:44px; margin-top:12px; text-decoration:underline; text-underline-offset:4px; }

/* Thin arrows have compact heads and never participate in text underlines. */
:root { --site-arrow-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12m-2.75-2.75L14 8l-2.75 2.75' fill='none' stroke='white' stroke-width='.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.site-arrow { display:inline-block; flex:none; width:16px; height:16px; vertical-align:middle; overflow:visible; text-decoration:none !important; }
.site-arrow--left { transform:rotate(180deg); }
.site-arrow--ne { transform:rotate(-45deg); }
.site-arrow--se { transform:rotate(45deg); }
.site-arrow--sw { transform:rotate(135deg); }
.site-arrow--nw { transform:rotate(-135deg); }
.site-arrow--up { transform:rotate(-90deg); }
.site-arrow--down { transform:rotate(90deg); }
.site-arrow-wrap { display:inline-flex; flex:none; align-items:center; justify-content:center; vertical-align:middle; text-decoration:none !important; }
a.arrow-link, a.arrow-link:hover, a.arrow-link:focus-visible { text-decoration:none !important; }
.arrow-label { text-decoration:none; }
.arrow-link.n:hover .arrow-label, .arrow-link.n[aria-current="page"] .arrow-label,
.arrow-link.l .arrow-label, .contact-inline-link .arrow-label, .ftr-contact-address .arrow-label,
.ga-visit .arrow-label { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.hdr .nav > .arrow-link > .arrow-label { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; text-decoration-color:color-mix(in srgb,currentColor 18%,transparent); }
.hdr .nav > .arrow-link:hover > .arrow-label, .hdr .nav > .arrow-link:focus-visible > .arrow-label { text-decoration-color:currentColor; }
.co-change { text-decoration:none; }
.co-change .arrow-label { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.co-change::before { content:""; display:inline-block; width:16px; height:16px; margin-right:5px; vertical-align:middle; background:currentColor; mask:var(--site-arrow-mask) center/contain no-repeat; transform:rotate(180deg); }
.st a figcaption > span:has(svg.site-arrow), .st a:hover figcaption > span:has(svg.site-arrow), .st a:focus-visible figcaption > span:has(svg.site-arrow) { text-decoration:none; }
.st a:hover figcaption .arrow-label, .st a:focus-visible figcaption .arrow-label { text-decoration:underline; text-underline-offset:4px; }

/* Keep the smallest landing copy and footer type consistent across viewports. */

/* Įėjimas — „Dvi pusės“: dvi nuotraukos baltame rėme, parašai po jomis.
   Telefone ir siauruose stačiuose ekranuose pusės sustoja viena po kita; nuotrauka visada
   užima visą stulpelio plotį, kad parašas būtų tiesiai po ja (žemuose ekranuose ji apkerpama). */
.home {
  --ease: cubic-bezier(.4, 0, .2, 1); --ease-out: cubic-bezier(.16, 1, .3, 1);
  --entry-frame: clamp(40px,6vw,96px);
  background: var(--bg); color: var(--ink);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
html:has(body.home), body.home { height: 100%; overflow: hidden; overscroll-behavior: none; }
.home .hdr { background: transparent; pointer-events: none; }
body.home .mark { top: 18px; width: clamp(150px, 14vw, 200px); transform: translateX(-50%); animation: fade .42s var(--ease) .1s backwards; }
.home .entry-language {
  position: fixed; z-index: 45; top: 12px; right: var(--edge);
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  border: 0; padding: 0; background: transparent; color: var(--ink); cursor: pointer;
  animation: fade .42s var(--ease) .1s backwards;
}
.home .entry { position: relative; height: 100vh; height: 100dvh; padding: 104px var(--entry-frame) var(--entry-frame); overflow: hidden; }
.home .doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--entry-frame); height: 100%; }
.home .door {
  position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0;
  color: var(--ink); text-decoration: none; -webkit-tap-highlight-color: transparent;
  animation: fade .48s var(--ease) .05s backwards;
}
.home .door + .door { animation-delay: .12s; }
.home .door:hover { color: var(--ink); }
.home .door:focus-visible { outline: 1px solid var(--ink); outline-offset: -12px; }
.home .door-visual { display:flex; flex:1 1 auto; min-width:0; min-height:0; }
.home .door-media { position: relative; flex: 1 1 auto; min-height: 0; display: block; overflow: hidden; background: var(--pale); }
.home .door-media img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 45%; transition: transform 1.4s var(--ease-out);
}
.home .door + .door .door-media img { object-position: 50% 30%; }
@media (hover: hover) { .home .door:hover .door-media img { transform: scale(1.025); } }
.home .door-title { flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0; padding: 14px 0 0; }
.home .door-title > :first-child {
  display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase;
}
.home .door:hover .door-title > :first-child [data-lt], .home .door:focus-visible .door-title > :first-child [data-lt] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em; }
.home .door-arrow { position: static; color: currentColor; transition: transform .3s var(--ease-out); }
.home .door:hover .door-arrow, .home .door:focus-visible .door-arrow { transform: translateX(4px); }
/* Serif line hidden for now; the markup stays so its editor slot keeps working. */
.home .door-intro { display: none; text-wrap: balance; }
.home .door-desc { max-width: 40ch; color: var(--ink); }
.home .door-desc::before { content: none; }

@media (max-width: 700px), (orientation: portrait) and (max-width: 1100px) {
  .home .doors { width:100%; height:100%; grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); row-gap:clamp(32px,4vh,40px); }
  .home .door-visual { display:grid; place-items:end center; container-type:size; }
  .home .door-media { flex:none; width:100cqw; height:min(100cqh,calc(100cqw * 3 / 4)); }
  .home .door-media img { object-position: 50% 50%; }
  .home .door + .door .door-media img { object-position: 50% 25%; }
  .home { --entry-frame:32px; --entry-label-size:12px; }
  .home .entry { padding-top:80px; padding-bottom:max(var(--entry-frame),env(safe-area-inset-bottom,0px)); }
  .home .door-title { padding-top:8px; gap:4px; }
  body.home .mark { top: 14px; width: 132px; }
  .home .entry-language { top: 8px; right: 8px; }
}
/* Short landscape phones keep the halves side by side with smaller captions. */
@media (max-height: 500px) and (orientation: landscape) {
  .home .entry { padding-top:56px; }
  .home .doors { width:100%; height:100%; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); }
  .home .door-visual { display:grid; place-items:end center; container-type:size; }
  .home .door-media { flex:none; width:100cqw; height:min(100cqh,calc(100cqw * 3 / 4)); }
  .home .door-title { padding-top: 8px; gap: 2px; }
  body.home .mark { top: 12px; width: 132px; }
  .home .entry-language { top: 6px; }
}

/* Footer social destinations use the same text style as other footer links. */
.ftr-bottom .social-links { flex-wrap:wrap; gap:0 20px; }
.ftr-bottom .social-links a { width:auto; justify-content:flex-start; }
@media(max-width:760px) { .ftr-bottom .social-links { gap:0 12px; } }

/* A consistent, close image-caption treatment on phones. */
@media(max-width:760px) {
 body.gallery-page figcaption, body.studio-page figcaption, body.studio-page .about-editorial figcaption { margin-top:2px; gap:2px 12px; }
 body.gallery-page .cover-caption { padding-top:2px; }
 body.studio-page .st-full figcaption { margin-top:0; padding-top:2px; }
}


/* Gallery footer: two text links and one evenly spaced icon group. */
  .ftr-bottom.ftr-bottom-gallery {
    grid-template-columns: max-content max-content max-content;
    justify-content: space-between;
    column-gap: 8px;
    justify-items: stretch;
    align-items: center;
    text-align: left;
  }
  .ftr-bottom.ftr-bottom-gallery > .gallery-privacy-link { grid-column: 1; grid-row: 1; min-width: 0; justify-content: flex-start; }
  .ftr-bottom.ftr-bottom-gallery > span.gallery-contact-link { display: flex; grid-column: 2; grid-row: 1; min-width: 0; justify-content: flex-start; }
  .ftr-bottom.ftr-bottom-gallery > .footer-icons { --footer-icon-gap: 14px; grid-column: 3; grid-row: 1; display: flex; flex-wrap: nowrap; align-items: center; gap: var(--footer-icon-gap); }
  .ftr-bottom-gallery .footer-language { display: flex; justify-content: center; }
  .ftr-bottom-gallery .social-links { display: flex; flex-flow: row-reverse nowrap; gap: var(--footer-icon-gap); }
  .ftr-bottom-gallery .social-links a { width: 28px; min-width: 0; min-height: 44px; justify-content: center; font-size: 0; }
  .ftr-bottom-gallery .social-link-label { display: none; }
  .ftr-bottom-gallery .social-icon { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  /* The narrow Facebook glyph needs a small optical shift toward Instagram. */
  .ftr-bottom-gallery .social-icon-facebook { fill: currentColor; stroke: none; transform: translateX(-4px); }
  .ftr-bottom-gallery .social-icon-dot { fill: currentColor; stroke: none; }
  .ftr-bottom-gallery > .gallery-privacy-link a,
  .ftr-bottom-gallery > .gallery-contact-link a { white-space: nowrap; }
  /* The gift-voucher link belongs to the desktop strip only; phones keep privacy and contacts. */
  .ftr-bottom-gallery .gallery-voucher-link { display: none; }
@media (max-width: 600px) {
  .ftr-bottom.ftr-bottom-gallery { padding-inline: 10px; }
}
/* Desktop strip: privacy and gift vouchers left, language centred, social icons right. */
@media (min-width: 761px) {
  .ftr-bottom.ftr-bottom-gallery { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); justify-content: stretch; }
  .ftr-bottom.ftr-bottom-gallery > .gallery-privacy-link { display: flex; align-items: center; gap: 24px; }
  .ftr-bottom-gallery .gallery-voucher-link { display: inline-flex; white-space: nowrap; }
  .ftr-bottom.ftr-bottom-gallery > span.gallery-contact-link { display: none; }
  .ftr-bottom.ftr-bottom-gallery > .footer-icons { display: contents; }
  .ftr-bottom-gallery .footer-language { grid-column: 2; grid-row: 1; justify-self: center; }
  .ftr-bottom.ftr-bottom-gallery .footer-language-desktop { display: inline-flex; }
  .ftr-bottom.ftr-bottom-gallery .footer-language-picker { display: none; }
  .ftr-bottom-gallery .social-links { grid-column: 3; grid-row: 1; justify-self: end; gap: 24px; }
  /* Desktop names the networks in words; the icons are for phones. */
  .ftr-bottom.ftr-bottom-gallery .social-links a { width: auto; }
  .ftr-bottom.ftr-bottom-gallery .social-link-label { display: inline; }
  .ftr-bottom.ftr-bottom-gallery .social-icon { display: none; }
}

/* Keep menu link words centered independently from their decorative arrows. */
.mnav a { position: relative; }
.mnav a > span[aria-hidden="true"] { position: absolute; left: 100%; top: 50%; margin-left: .25em; transform: translateY(-50%); }
@media (max-width: 1240px) {
  .hdr-inner-gallery .hdr-end .cart { right: var(--edge); left: auto; }
  .hdr .hdr-back { position: relative; justify-content: center; }
  .hdr .hdr-back > svg { position: absolute; left: -26px; }
}


/* Mobile language drop-up for the gallery footer. */
.footer-language-picker { position: relative; display: none; }
.footer-language-picker > summary { display: flex; align-items: center; justify-content: center; width: 28px; min-height: 44px; cursor: pointer; list-style: none; }
.footer-language-picker > summary::-webkit-details-marker { display: none; }
.footer-language-picker > summary::marker { content: ""; }
.language-globe { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.footer-language-menu { position: absolute; z-index: 60; right: 0; bottom: calc(100% + 5px); min-width: 126px; display: grid; padding: 4px; background: var(--bg); color: var(--ink); border: 1px solid var(--rule); box-shadow: 0 4px 16px rgb(0 0 0 / 12%); }
.footer-language-picker:not([open]) > .footer-language-menu { display: none; }
.footer-language-menu button { min-height: 36px; padding: 6px 9px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; white-space: nowrap; }
.footer-language-menu button:hover, .footer-language-menu button:focus-visible { background: color-mix(in srgb, currentColor 9%, transparent); }
.ftr-bottom-gallery .footer-language-desktop { display: none; }
.ftr-bottom-gallery .footer-language-picker { display: block; }


/* Center the back word independently from its secondary arrow in the menu overlay. */
.mnav .mnav-back { position: relative; display: flex; align-self:center; width:max-content; padding:0; align-items: center; justify-content: center; }
.mnav .mnav-back-arrow { position: absolute; left:-25px; top:calc(50% - 2px); transform:translateY(-50%); font-size:16px; opacity: .55; }
.mnav .mnav-back-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }


/* In the mobile menu, center the Grįžti word and keep its arrow outside the text width. */
.mnav a.hdr-back { position: relative; display: inline-block; text-align: center; }
.mnav a.hdr-back > svg { position: absolute; left: -25px; top:calc(50% - 2px); transform: translateY(-50%) rotate(180deg); opacity: .55; }
.mnav a.hdr-back > span { display: inline-block; }


/* Keep overlay menu labels subtly underlined; arrows stay secondary to the words. */
.mnav > a,
.mnav > button.n,
.mnav-panel > a,
.mnav-panel > button.n {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
}
.mnav > a:hover,
.mnav > a:focus-visible,
.mnav-panel > a:hover,
.mnav-panel > a:focus-visible,
.mnav > button.n:hover,
.mnav > button.n:focus-visible,
.mnav-panel > button.n:hover,
.mnav-panel > button.n:focus-visible {
  text-decoration-color: currentColor;
}
.mnav a > span[aria-hidden="true"] { margin-left: .05em; }

/* Match overlay bottom controls to the header's outer icon edges on both sections. */
.mnav-bar-corners { box-sizing: border-box; justify-content: space-between; padding-inline: var(--edge); padding-bottom:max(calc(var(--edge) - 10px),env(safe-area-inset-bottom,0px)); }
.mnav-bar-corners > * { min-height:44px; }
.mnav-bar-corners > .mnav-lang { justify-content: flex-start; }
.mnav-bar-corners > .mnav-lang a { padding-inline: 0; }
.mnav-bar-corners > .mnav-social-links { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.mnav-bar-corners .mnav-social-links a { display: flex; align-items: center; justify-content: flex-end; width: 32px; min-height: 44px; padding: 0; }
.mnav-bar-corners .mnav-social-links svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mnav-bar-corners .mnav-social-links .facebook-icon { fill: currentColor; stroke: none; }
.mnav-bar-corners .mnav-social-links .social-icon-dot { fill: currentColor; stroke: none; }

/* Section links match the other menu labels without underlining their arrows. */
.mnav .mnav-section-link > .arrow-label {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
}
.mnav .mnav-section-link:hover > .arrow-label,
.mnav .mnav-section-link:focus-visible > .arrow-label {
  text-decoration-color: currentColor;
}

/* Gallery footer: four text links on phones; grouped destinations on desktop. */
.ftr-bottom.ftr-bottom-gallery { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 20px; text-align:left; }
.ftr-bottom.ftr-bottom-gallery > a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.ftr-bottom.ftr-bottom-gallery > .footer-language-desktop { display:none; }
.ftr-bottom.ftr-bottom-gallery > .social-links { display:contents; }
.ftr-bottom.ftr-bottom-gallery .social-links a { width:auto; }
@media(max-width:600px) { .ftr-bottom.ftr-bottom-gallery { gap:4px 12px; padding-inline:18px; } }
@media(min-width:761px) {
 .ftr-bottom.ftr-bottom-gallery { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px 24px; }
 .ftr-bottom.ftr-bottom-gallery > .gallery-contact-link { display:none; }
 .ftr-bottom.ftr-bottom-gallery > .footer-language-desktop { display:inline-flex; grid-column:2; grid-row:1; justify-self:center; }
 .ftr-bottom.ftr-bottom-gallery > .social-links { display:flex; flex-direction:row; grid-column:3; grid-row:1; justify-self:end; gap:24px; }
}

/* Edita: project preview buttons keep their transparent white-outline appearance. */
.row:hover .row-more,.row:focus-visible .row-more,.row .row-more:hover,.row .row-more:focus-visible{background:transparent;color:#fff;border-color:#fff}

/* Approved Righetto brand typography and project information. */
/* RIGHETTO brand book, 2026-10-21. Shared website typography.
Source: W:/2TB/11RIGHETTO BRAND BOOK. Document point sizes are adapted to existing web sizes. */
:root{--sans:"Righetto Open Sans",Arial,sans-serif;--serif:"Righetto Open Sans",Arial,sans-serif}
.project-copy .intro{text-align:left}

/* Project information and final return link, matching the approved reference. */
.project-info{box-sizing:border-box;max-width:none!important;background:#f5f5f5;margin:60px 0 0!important;padding:48px 3% 40px!important;border:0!important;color:#171717}
.project-info h2{text-align:center;margin:0 0 38px!important}
.information-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.boffi-project-info .information-columns dl{display:block!important;margin:0!important}
.boffi-project-info dl>div{grid-template-columns:120px 1fr!important;border-top:1px solid #333!important;min-height:45px;box-sizing:border-box;padding:13px 0!important}
.boffi-project-info dt,.credits-grid span{text-transform:uppercase}
.credits-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.credits-grid p{margin:12px 0 0}
.project-return{box-sizing:border-box;background:#f5f5f5;margin:0!important;padding:28px 3% 45px!important;text-align:center}
.project-return a{box-sizing:border-box;display:inline-block!important;border:1px solid #171717!important;border-radius:40px!important;padding:14px 30px!important;min-width:208px;color:#171717!important;text-decoration:none!important}
@media(max-width:650px){.information-columns{grid-template-columns:1fr}.project-info{padding:30px 5%!important}.boffi-project-info dl>div{grid-template-columns:80px 1fr!important}.credits-grid{gap:15px}}

[hidden]{display:none!important}.project-reveal{border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.project-copy{scroll-margin-top:35px}.boffi-project-info{margin-bottom:45px!important}#planai{scroll-margin-top:30px}

.credits-grid{grid-template-columns:1fr 1.3fr!important}.credits-grid>div:last-child:nth-child(3){grid-column:1/-1}.credits-grid a{color:inherit;text-underline-offset:4px}

.description-back{display:block;margin:0 0 28px}#projekto-nuotraukos{scroll-margin-top:25px}

/* Unified web scale, based on approved brand hierarchy: 16 pt title / 10 pt heading and body. */
:root{--rh-title-size:21.333px;--rh-heading-size:13.333px;--rh-body-size:13.333px;--rh-body-leading:1.8}
body main .about-opening .txt{margin-top:0;margin-bottom:22px}

/* Methodology titles use the same eyebrow style as the page's discipline label. */
body main .about-method .defs dt{text-transform:uppercase!important}

body main .about-method .defs dd{color:inherit}

/* Consistent contact footer hierarchy. */
body .ftr .ftr-addr{text-transform:uppercase!important}
body .ftr .ftr-contact,body .ftr .ftr-contact .arrow-label{text-transform:uppercase!important}

.rh-project-header{padding:140px 4% 35px;max-width:1500px;margin:auto;color:#292929}
.rh-project-header h1{text-align:center;margin:0 0 45px}
.rh-project-header .project-copy{max-width:740px;margin:0 auto 45px;scroll-margin-top:110px}
.rh-project-header .intro{margin:0 0 23px;text-align:left}
.rh-project-header .project-info{margin:0!important}.rh-project-ending{padding:0 4% 40px}
.rh-project-ending .plans{max-width:1200px;margin:45px auto}.rh-project-ending .floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.rh-project-ending .plans img{max-width:100%;height:auto;filter:grayscale(1)}
.rh-project-ending .plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.rh-project-ending figure{margin:0}
.studio-about .about-cover figcaption,.studio-about .about-material figcaption{display:none!important}.studio-about .about-material img{height:auto!important;object-fit:contain}
@media(max-width:650px){.rh-project-header{padding-top:100px}.rh-project-ending .floor-grid,.rh-project-ending .plan-grid{grid-template-columns:1fr}}

.rh-project-header .project-info dl{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:0}.rh-project-header .project-info dl>div{display:grid;grid-template-columns:120px 1fr;gap:15px;border-top:1px solid #ddd;padding:16px 0}.rh-project-header .project-info dd{margin:0}@media(max-width:650px){.rh-project-header .project-info dl{grid-template-columns:1fr}}

.rh-project-header h1,.rh-project-header .project-info h2{text-transform:uppercase}.rh-project-header .project-info dd{overflow-wrap:anywhere}.rh-project-header .project-info .credits-grid{margin:0}

/* Project numbers remain white in every interaction state. */
.rows .row .row-label,.rows .row:hover .row-label,.rows .row:focus-visible .row-label,.rows .row:active .row-label{color:#fff!important;mix-blend-mode:normal!important;opacity:1!important;transition:none!important}

/* Brand hierarchy applies to headings outside main as well. */
.rh-archive{box-sizing:border-box;max-width:1500px;margin:auto;padding:135px 7% 65px;color:#272725}
.rh-archive *{box-sizing:border-box}
.rh-archive h1{margin:20px 0 28px;text-transform:uppercase}
.rh-archive h2{text-transform:uppercase;margin:0 0 22px}
.rh-archive-intro{max-width:850px;padding-bottom:25px}
.rh-archive-intro p{max-width:700px;margin:24px 0}
.rh-period{display:block;margin-bottom:35px}
.rh-year-nav{display:flex;flex-wrap:wrap;gap:12px 23px;padding:25px 0}
.rh-archive a{color:inherit;text-decoration:none}.rh-archive a:hover{text-decoration:underline;text-underline-offset:5px}
.rh-archive-project{display:grid;grid-template-columns:37% 1fr;gap:6%;padding:65px 0 85px;border-top:1px solid #deded8;scroll-margin-top:110px;align-items:start}
.rh-static-year{visibility:hidden;font-size:110px;line-height:1}
.rh-archive-project p{margin:0 0 30px}
.rh-archive-cover{display:block;position:relative;aspect-ratio:1;background:#eee;overflow:hidden}
.rh-archive-cover img{display:block;width:100%;height:100%;object-fit:cover}
.rh-archive .rh-clean-photo{display:block;width:100%!important;height:100%!important;overflow:hidden;max-width:none!important;flex-shrink:1}
.rh-restyling .rh-clean-photo{height:auto!important}
.rh-cover-number,.rh-cover-arrow{position:absolute;bottom:20px;color:#fff!important;mix-blend-mode:normal!important;z-index:1;transition:none!important}
.rh-cover-number{left:20px;text-transform:uppercase;text-shadow:0 1px 5px #000}
.rh-cover-arrow{right:20px;font-size:31px;line-height:1;text-shadow:0 1px 5px #000}
.rh-archive-year{position:fixed;left:max(7%,calc((100vw - 1290px)/2));top:72vh;display:flex;pointer-events:none;color:#272725;z-index:2;font-size:clamp(65px,9vw,140px);line-height:1;letter-spacing:-.06em}
.rh-digit-window{display:block;overflow:hidden;padding-inline:.14em;margin-inline:-.14em}.rh-last-two{display:block}.rh-roll{animation:rh-year-roll .5s ease-out}
.rh-archive-year{opacity:0;transition:opacity .2s}.rh-archive-year.is-visible{opacity:1}
@keyframes rh-year-roll{from{transform:translateY(100%)}to{transform:translateY(0)}}
.rh-archive-detail{max-width:1400px;margin:auto}.rh-archive-detail h1{text-align:center;margin:35px auto 45px;max-width:1000px}
.rh-back{display:inline-block;margin-bottom:25px}
.rh-archive-info{margin:0 0 35px!important}.rh-archive-info dl{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:0}.rh-archive-info dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;border-top:1px solid #333;padding:15px 0}.rh-archive-info dd{margin:0}.rh-archive-info dt{text-transform:uppercase}
.rh-archive-copy{max-width:740px;margin:45px auto;scroll-margin-top:110px}.rh-archive-copy p{margin:0 0 24px}.rh-archive-source a{text-decoration:underline}
.rh-archive .rh-unchanged{color:#a43731;text-align:center;margin:-20px 0 35px}
.rh-archive-gallery{scroll-margin-top:105px}.rh-archive-frame{height:min(85vh,1100px);background:white;display:flex;align-items:center;justify-content:center}.rh-archive-frame img{display:block;width:100%;height:100%;object-fit:contain}
.rh-archive-controls{display:flex;justify-content:center;align-items:center;gap:45px;padding:15px 0 35px;font-size:10px;letter-spacing:.15em}.rh-archive-controls button{border:0;background:none;padding:10px 25px;font-size:28px;cursor:pointer;color:inherit}
.rh-restyling{margin:65px auto}.rh-restyling>p,.rh-restyling>h2{max-width:740px;margin:0 auto 25px}.rh-restyling figure{margin:35px auto;max-width:1100px}.rh-restyling img{display:block;width:100%;height:auto}
.rh-archive-plans{max-width:1100px;margin:45px auto;scroll-margin-top:110px}.rh-archive-plans figure{margin:35px 0}.rh-archive-plans figcaption{text-transform:uppercase;margin-bottom:20px}.rh-archive-plans img{display:block;width:100%;height:auto;filter:grayscale(1)}
.rh-archive-next{text-align:center;padding:65px 0 25px;border-top:1px solid #deded8}.rh-archive-next a{display:inline-block;padding:15px 25px;border:1px solid #333;border-radius:30px}
@media(prefers-reduced-motion:reduce){.rh-roll{animation:none}}
@media(max-width:650px){.rh-archive{padding:100px 5% 40px}.rh-archive-project{grid-template-columns:1fr;gap:0;padding:35px 0 50px}.rh-static-year{visibility:visible;font-size:48px;margin-bottom:20px}.rh-archive-year{display:none}.rh-cover-number{left:14px;bottom:14px}.rh-cover-arrow{right:14px;bottom:14px}.rh-archive-info dl{grid-template-columns:1fr}.rh-archive-frame{height:75vh}.rh-archive-detail h1{overflow-wrap:anywhere}.rh-archive-controls{gap:15px}}


/* Landing hierarchy approved by Edita, 2026-10-22. */
.home .doors{align-items:stretch}
.home .door-visual{flex:1 1 0;min-height:0}
.home .door-title{box-sizing:border-box;flex:0 0 156px!important;height:156px!important;min-height:156px!important;justify-content:flex-start}
.home .door-title>span:first-child{display:flex;align-items:center;gap:18px;margin:14px 0 8px}
.home .door-title>span:first-child>span{text-transform:uppercase}
.home .door-title>span:first-child>.door-arrow{letter-spacing:0!important}
.home .door-desc{display:block!important}

.review-latest{padding:60px 5%}.review-latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-latest-grid>a{position:relative;display:block;aspect-ratio:3/4;overflow:hidden}.review-latest-grid img{width:100%;height:100%;object-fit:cover}.review-latest-grid span,.review-latest-grid b{position:absolute;bottom:20px;color:white!important;mix-blend-mode:normal;text-transform:uppercase;text-shadow:0 1px 4px #000}.review-latest-grid span{left:15px}.review-latest-grid b{right:15px}@media(max-width:650px){.review-latest-grid{grid-template-columns:1fr}}
.project-group .group-label,.project-group .group-label:hover,.project-group .group-label:focus{position:absolute;left:16px;right:16px;bottom:36px;padding:0;color:#fff!important;text-shadow:0 1px 6px #000;z-index:2;mix-blend-mode:normal!important}.project-group .group-label span{color:#fff!important;transition:none!important}

/* Keep Gallery navigation and both actions inside a narrow phone screen. */
@media(max-width:650px){
 .rh-gallery-category-bar nav{justify-content:center;flex-wrap:wrap;max-width:100%;min-width:0;gap:9px 12px!important}
 .rh-gallery-category-bar .rh-gallery-actions{justify-content:center;flex-wrap:wrap;max-width:100%;gap:20px}
}
