/* In Arch — 2026-10 redesign: tokens, fonts, shell, home, Projektai, project.
   Loaded on every page. Spec: docs/2026-10-19-site-chrome-redesign-plan.md
   (letter-spacing rules, the Times New Roman → Tinos fallback). */

/* ---------- Fonts ---------- */
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/lexend-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/lexend-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Times New Roman where it is installed (Apple, Windows); Tinos — drawn to
   its metrics — where it is not (Android aliases the name to Noto Serif). */
@font-face { font-family: "Inarch Serif"; font-style: normal; font-weight: 400;
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), url(../fonts/tinos-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+20A0-20C4, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inarch Serif"; font-style: normal; font-weight: 400;
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), url(../fonts/tinos-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Inarch Serif"; font-style: italic; font-weight: 400;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), url(../fonts/tinos-italic-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+20A0-20C4, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inarch Serif"; font-style: italic; font-weight: 400;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), url(../fonts/tinos-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
  --inarch-ground: #ebeae8;
  --inarch-dark: #232120;      /* header, footer and every dark band */
  --inarch-ink: #1f1d1b;
  --inarch-muted: #999999;
  --inarch-cream: #ece6dd;
  --inarch-ftr-link: #a8a095;
  --inarch-placeholder: #e0deda;
  --inarch-hairline: #dcdad6;
  --inarch-edge: clamp(20px, 2.8vw, 40px); /* not --inarch-gutter: shop.css owns that (120px) */
  --inarch-img-gap: clamp(10px, 1.7vw, 24px);
  --inarch-ease: cubic-bezier(.19, 1, .22, 1);
  --inarch-display: "Lexend", sans-serif;
  --inarch-serif: "Inarch Serif", "Times New Roman", serif;
  --inarch-hdr-h: 68px;        /* 20 + 28px logo + 20; was 84, which left a 16px strip under the header */
}

body { background: var(--inarch-ground); }

/* The Elementor kit colours every link (`.elementor-kit-6 a` black, `a:hover`
   grey, 0,1,1 / 0,2,1). These links set their own colour, so the rules carry
   a `body` prefix to outrank the kit in both states. */
body .inarch-hdr__logo, body .inarch-hdr__logo:hover,
body .inarch-ftr__logo, body .inarch-ftr__logo:hover { color: #fff; }
body .inarch-menu__nav a, body .inarch-menu__nav a:hover,
body .inarch-card, body .inarch-card:hover,
body .inarch-prow, body .inarch-prow:hover,
body .inarch-pnext__grid a, body .inarch-pnext__grid a:hover { color: var(--inarch-ink); }
body a.inarch-link, body a.inarch-link:hover { color: inherit; }
body .inarch-menu__foot a, body .inarch-menu__foot a:hover { color: var(--inarch-muted); }
body .inarch-ftr li a { color: var(--inarch-ftr-link); }
body .inarch-ftr li a:hover { color: var(--inarch-cream); }

/* Elementor wraps each shortcode in a container + widget; the slots for the
   header and footer must add nothing of their own. */
.elementor-location-header .e-con, .elementor-location-footer .e-con,
.elementor-location-header .elementor-widget, .elementor-location-footer .elementor-widget {
  --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
  --container-max-width: none; --widgets-spacing: 0; padding: 0; margin: 0;
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Display type: condensed Lexend ----------
   -0.1em is the limit (-0.12em collides R-T, A-R). Always em. The trailing
   padding cancels the spacing browsers add after the last letter, which
   would otherwise pull centred titles off centre. */
.inarch-d {
  display: inline-block; font-family: var(--inarch-display); font-weight: 700;
  text-transform: uppercase; letter-spacing: -0.1em; padding-right: 0.1em;
  transform: scaleY(0.85); transform-origin: 50% 100%; line-height: inherit;
}
/* Rise mask: the padding keeps Ė dots and Į tails inside the clip. */
.inarch-mask { display: block; overflow: hidden; padding: 0.18em 0.3em 0.06em; margin: -0.18em -0.3em 0; font-weight: 700; }
.inarch-mask > .inarch-d { display: inline-block; }

.inarch-link {
  all: unset; cursor: pointer; font-family: var(--inarch-serif); font-style: italic; font-size: 17px;
  color: inherit; text-decoration: underline; text-underline-offset: 4px; transition: opacity .3s;
}
.inarch-link:hover { opacity: .6; }
/* Elementor's `.elementor a { text-decoration: none }` (0,1,1) outranked the
   class above, so every .inarch-link that is itself an <a> inside an Elementor
   page lost its line (Siųsti užklausą, Peržiūrėti parduotuvėje, 10-21). */
a.inarch-link.inarch-link { text-decoration: underline; }

.inarch-x {
  all: unset; box-sizing: border-box; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  font: 300 30px/1 Poppins, sans-serif; cursor: pointer; transform: rotate(45deg); color: inherit;
}

/* Collapsible: grid rows 0fr → 1fr. Open by default without JS. */
.inarch-acc { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .6s var(--inarch-ease); }
.inarch-js .inarch-acc { grid-template-rows: 0fr; }
.inarch-js .inarch-acc.is-open { grid-template-rows: 1fr; }
.inarch-acc > div { overflow: hidden; min-height: 0; }

/* Image cells */
.inarch-cell { position: relative; overflow: hidden; background: var(--inarch-placeholder); }
.inarch-cell img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.6s var(--inarch-ease); }
button.inarch-cell { all: unset; position: relative; display: block; overflow: hidden; background: var(--inarch-placeholder); cursor: zoom-in; width: 100%; height: 100%; }
a:hover .inarch-cell img, .inarch-zoom:hover img { transform: scale(1.03); }
[data-scroller] { scrollbar-width: none; }
[data-scroller]::-webkit-scrollbar { display: none; }

/* ---------- Header ---------- */
.inarch-hdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50; box-sizing: border-box;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
  padding: 20px var(--inarch-edge); background: var(--inarch-dark); color: var(--inarch-cream);
  transition: background-color .5s var(--inarch-ease), padding .5s var(--inarch-ease);
}
.admin-bar .inarch-hdr { top: 32px; }
@media (max-width: 782px) { .admin-bar .inarch-hdr { top: 46px; } }
.inarch-hdr.is-over-hero:not(.is-solid) { background: transparent; padding-top: 30px; padding-bottom: 30px; }
.inarch-hdr__logo { display: block; width: 144px; color: #fff; transition: opacity .4s var(--inarch-ease); }
.inarch-hdr__logo svg { display: block; width: 100%; height: auto; }
.inarch-hdr.is-home:not(.is-logo) .inarch-hdr__logo { opacity: 0; pointer-events: none; }
.inarch-hdr-spacer { height: var(--inarch-hdr-h); }
.inarch-burger {
  all: unset; justify-self: end; box-sizing: border-box; width: 44px; height: 44px; margin: -12px -11px -12px 0;
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; cursor: pointer;
}
.inarch-burger i { display: block; width: 22px; height: 1px; background: var(--inarch-cream); }
/* Hello Elementor's reset paints button:hover/:focus #c36 at 0,1,1, above the
   all:unset (0,1,0) on our buttons; restate the resting look at 0,2,1. */
button:is(.inarch-burger, .inarch-x, .inarch-link, .inarch-ftr__toggle, .inarch-lb__zone, .inarch-srow__toggle, .inarch-pkg__toggle):is(:hover, :focus, :active) {
  background: none; border: 0; color: inherit;
}
button.inarch-ftr__toggle:is(:hover, :focus, :active) { color: var(--inarch-cream); }
button.inarch-cell:is(:hover, :focus, :active) { background: var(--inarch-placeholder); border: 0; }
button.inarch-x:focus-visible { outline: none; background: rgba(127, 127, 127, .18); border-radius: 50%; }
/* box-shadow: none drops Hello's white 4px focus ring (reset.css). */
.inarch-burger:focus-visible, .inarch-link:focus-visible, .inarch-ftr__toggle:focus-visible, .inarch-srow__toggle:focus-visible, .inarch-pkg__toggle:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; box-shadow: none; }

/* ---------- Menu ---------- */
.inarch-veil {
  position: fixed; inset: 0; z-index: 59; background: rgba(24, 22, 20, .38);
  opacity: 0; pointer-events: none; transition: opacity .6s var(--inarch-ease);
}
.inarch-menu {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 61; box-sizing: border-box;
  width: min(420px, 86vw); background: var(--inarch-ground); color: var(--inarch-ink);
  display: flex; flex-direction: column; padding: 30px var(--inarch-edge) 28px;
  transform: translateX(102%); transition: transform .7s var(--inarch-ease); overflow-y: auto;
}
.inarch-menu-open .inarch-veil { opacity: 1; pointer-events: auto; }
.inarch-menu-open .inarch-menu { transform: none; }
/* The header (and its logo, the only way home) stays above the veil while
   the menu is open; the panel (61) still covers its right end. */
.inarch-menu-open .inarch-hdr { z-index: 60; }
.inarch-menu-open { overflow: hidden; }
.inarch-menu .inarch-x { align-self: flex-end; margin: -12px -11px 0 0; }
.inarch-menu__nav { margin-top: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 36px; line-height: 1.15; }
.inarch-menu__nav a { color: var(--inarch-ink); text-decoration: none; transition: opacity .3s; display: inline-flex; align-items: flex-start; gap: 6px; }
.inarch-menu__nav a:hover, .inarch-menu__nav a[aria-current] { opacity: .55; }
.inarch-cart-count { font: 300 13px var(--inarch-display); color: var(--inarch-muted); margin-top: .35em; }
.inarch-menu__foot { margin-top: 48px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 13px; color: var(--inarch-muted); font-family: Poppins, sans-serif; }
.inarch-menu__foot a { color: inherit; text-decoration: none; }
.inarch-menu__lang a { color: var(--inarch-muted) !important; font-size: 13px !important; }

/* ---------- Footer ---------- */
.inarch-ftr {
  background: var(--inarch-dark); color: var(--inarch-cream); box-sizing: border-box;
  padding: clamp(72px, 9vw, 140px) var(--inarch-edge) 28px;
  display: flex; flex-direction: column; align-items: center; gap: clamp(72px, 9vw, 140px);
}
.inarch-ftr__cols { width: 100%; max-width: 840px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 20px 32px; align-items: start; }
.inarch-ftr__col { display: flex; flex-direction: column; align-items: center; text-align: center; }
.inarch-ftr__toggle {
  all: unset; cursor: pointer; position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 44px; font: 400 15px var(--inarch-serif); color: var(--inarch-cream);
}
.inarch-ftr__toggle i {
  position: absolute; left: 100%; top: 50%; margin: -9px 0 0 10px; font: 300 18px/18px Poppins, sans-serif; font-style: normal;
  transition: transform .6s var(--inarch-ease);
}
.inarch-ftr__toggle[aria-expanded="true"] i { transform: rotate(45deg); }
.inarch-ftr ul { list-style: none; margin: 0; padding: 0 0 2px; display: flex; flex-direction: column; align-items: center; gap: 0; font: 400 13px/1.5 Poppins, sans-serif; }
.inarch-ftr li, .inarch-ftr li a { color: var(--inarch-ftr-link); text-decoration: none; transition: color .3s; }
/* The design's 8px gap, carried as padding: same 26px rhythm, each link a 26px tap target, not 18px. */
.inarch-ftr li > * { display: inline-block; padding: 4px 0; }
.inarch-ftr li a:hover { color: var(--inarch-cream); }
.inarch-ftr__logo { display: block; width: 100%; color: #fff; }
.inarch-ftr__logo svg { display: block; width: 100%; height: auto; }
.inarch-ftr__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 24px; text-align: center; font: 400 11px/1.6 Poppins, sans-serif; letter-spacing: 0.04em; color: var(--inarch-ftr-link); }

/* ---------- Scroll-in motion ----------
   Starting states only exist once site.js has added .inarch-motion, so
   nothing stays hidden without JS. `translate` (not `transform`) leaves the
   display type's scaleY alone. */
.inarch-motion [data-rise] { translate: 0 110%; }
.inarch-motion [data-fade] { opacity: 0; translate: 0 14px; }
.inarch-motion [data-wipe] { clip-path: inset(0 0 100% 0); }
.inarch-motion .is-in[data-rise], .inarch-motion .is-in [data-rise], .inarch-motion [data-rise].is-in { translate: 0 0; transition: translate 1.3s var(--inarch-ease) var(--d, 0s); }
.inarch-motion [data-fade].is-in { opacity: 1; translate: 0 0; transition: opacity 1.1s var(--inarch-ease) var(--d, 0s), translate 1.1s var(--inarch-ease) var(--d, 0s); }
.inarch-motion [data-wipe].is-in { clip-path: inset(0 0 0 0); transition: clip-path 1.6s var(--inarch-ease) var(--d, 0s); }

/* ---------- Home ---------- */
.inarch-home-hero { position: relative; height: 100vh; height: 100svh; min-height: 520px; overflow: hidden; background: var(--inarch-dark); color: #fff; }
.inarch-home-hero__poster img, .inarch-home-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; display: block; }
.inarch-home-hero__video { opacity: 0; transition: opacity .8s ease; }
.inarch-home-hero__video.is-playing { opacity: 1; }
.inarch-home-hero__veil { position: absolute; inset: 0; background: rgba(24, 22, 20, .24); }
.inarch-home-hero__logo { position: absolute; inset: 0; margin: 0; display: flex; align-items: center; justify-content: center; color: #fff; pointer-events: none; }
.inarch-home-hero__logo svg { width: min(62%, 720px); height: auto; display: block; }
/* „Beyond interiors" under the film, italic in sentence case (Rokas 2026-10-20), English in both languages (notranslate). */
.inarch-home-hero__tag {
  position: absolute; left: 0; right: 0; bottom: clamp(28px, 5vh, 56px); margin: 0; text-align: center; pointer-events: none;
  font: italic 400 clamp(18px, 1.5vw, 22px)/1 var(--inarch-serif); letter-spacing: .02em; color: #fff;
}
/* GTranslate (Google, client side) marks <html> translated-ltr; labels with an own English name swap. */
.inarch-en { display: none; }
html.translated-ltr .inarch-en { display: inline; }
html.translated-ltr .inarch-lt { display: none; }

.inarch-home-cards {
  background: var(--inarch-ground); color: var(--inarch-ink);
  padding: clamp(96px, 12vw, 180px) var(--inarch-edge) clamp(96px, 10vw, 160px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 56px var(--inarch-img-gap); align-items: start;
}
.inarch-card { display: flex; flex-direction: column; gap: 22px; color: var(--inarch-ink); text-decoration: none; }
.inarch-card__img { position: relative; height: clamp(240px, 30.5vw, 440px); overflow: hidden; background: #e6e6e6; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.inarch-card:hover .inarch-card__img { transform: translateY(-12px); }
.inarch-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.inarch-card__hover { opacity: 0; transform: scale(1.04); transition: opacity 1.1s cubic-bezier(.45, 0, .25, 1), transform 1.6s var(--inarch-ease); }
.inarch-card:hover .inarch-card__hover { opacity: 1; transform: none; }
.inarch-card__text { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.inarch-card .inarch-mask { font-size: clamp(20px, 2.7vw, 42px); line-height: 1.2; white-space: nowrap; }
.inarch-card p { margin: 0; max-width: 300px; font: 400 13px/1.7 var(--inarch-serif); color: var(--inarch-muted); }
/* Phones: the four cards are a swipe row, same snap as the Projektai rows,
   with the next card peeking in so the row reads as swipeable. */
@media (max-width: 899px) {
  .inarch-home-cards {
    display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    scroll-padding: 0 var(--inarch-edge); padding-left: var(--inarch-edge); padding-right: var(--inarch-edge);
    padding-top: 72px; padding-bottom: 80px; overscroll-behavior-x: contain;
  }
  .inarch-home-cards::-webkit-scrollbar { display: none; }
  .inarch-card { flex: 0 0 74vw; scroll-snap-align: start; }
  .inarch-card__img { height: 92vw; }
  .inarch-card:hover .inarch-card__img { transform: none; }
}

/* ---------- Projektai ---------- */
.inarch-plist-intro {
  background: var(--inarch-ground); color: var(--inarch-ink);
  padding: clamp(72px, 10vw, 150px) var(--inarch-edge) clamp(48px, 6vw, 88px);
  display: flex; flex-direction: column; gap: clamp(28px, 3.4vw, 48px);
}
.inarch-plist-intro h1 { font-size: clamp(56px, 9.5vw, 156px); line-height: 1; margin: -0.18em -0.3em 0; }
/* Phones: 56px ran „PARTNERYSTĖS" (≈6.9em wide in condensed Lexend) 14px past
   a 390px screen. Size from the width between the gutters instead. */
@media (max-width: 599px) {
  .inarch-plist-intro h1 { font-size: min(56px, calc((100vw - 2 * var(--inarch-edge)) / 7.2)); }
}
.inarch-plist-intro p { margin: 0; max-width: 620px; font: 400 clamp(18px, 1.55vw, 22px)/1.5 var(--inarch-serif); text-wrap: pretty; }
.inarch-plist-intro, .inarch-plist, .inarch-pabout, .inarch-pnext { overflow-x: clip; }
.inarch-plist { background: var(--inarch-ground); color: var(--inarch-ink); padding-bottom: clamp(96px, 12vw, 180px); }
.inarch-plist-sec { padding: clamp(72px, 9vw, 140px) var(--inarch-edge) 0; scroll-margin-top: var(--inarch-hdr-h); }
.inarch-plist-sec__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px 40px; align-items: end; margin-bottom: clamp(48px, 6vw, 96px); }
.inarch-plist-sec__title { display: flex; align-items: flex-start; gap: 10px; }
.inarch-plist-sec__title h2 { font-size: clamp(44px, 6.4vw, 104px); line-height: 1; }
.inarch-plist-sec__head p { margin: 0; justify-self: end; max-width: 400px; font: 400 15px/1.6 var(--inarch-serif); color: var(--inarch-muted); text-wrap: pretty; }
.inarch-plist-sec__rows { display: flex; flex-direction: column; gap: clamp(72px, 8vw, 128px); }
/* Type filter: sticks under the header while the list scrolls; needs site.js,
   so it only shows once .inarch-js is set. site.js sets `top` to the header's
   measured bottom (the header is 68px = --inarch-hdr-h, but the admin bar
   moves it). A phone swipes the pills sideways. */
.inarch-pfilter {
  display: none; position: sticky; top: var(--inarch-hdr-h); z-index: 5;
  gap: 8px; overflow-x: auto; scrollbar-width: none;
  padding: 14px var(--inarch-edge); background: var(--inarch-ground); border-bottom: 1px solid var(--inarch-hairline);
}
.inarch-pfilter::-webkit-scrollbar { display: none; }
.inarch-js .inarch-pfilter { display: flex; }
.inarch-pfilter__btn {
  all: unset; box-sizing: border-box; flex-shrink: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px;
  border: 1px solid var(--inarch-hairline); border-radius: 999px;
  font: 500 12px/1 var(--inarch-display); letter-spacing: .08em; text-transform: uppercase;
  color: var(--inarch-ink); transition: background-color .3s, border-color .3s, color .3s;
}
.inarch-pfilter__btn span { font-weight: 300; letter-spacing: 0; color: var(--inarch-muted); transition: color .3s; }
.inarch-pfilter__btn:hover { border-color: var(--inarch-ink); }
.inarch-pfilter__btn:focus-visible { outline: 1px solid var(--inarch-ink); outline-offset: 3px; }
.inarch-pfilter__btn[aria-pressed="true"] { background: var(--inarch-dark); border-color: var(--inarch-dark); color: var(--inarch-cream); }
.inarch-pfilter__btn[aria-pressed="true"] span { color: var(--inarch-ftr-link); }
.inarch-plist-sec[hidden] { display: none; }
/* Phones (after the base pill rules so it wins): all four pills in one row, so none is cut at the edge — no counts,
   tighter pills (in Lexend the four fit a 360px phone). */
@media (max-width: 599px) {
  .inarch-pfilter { gap: 5px; padding-top: 10px; padding-bottom: 10px; }
  /* Size and 44px height stay on the scale; only the side padding and the
     tracking tighten, so the four pills still fit a 360px phone. */
  .inarch-pfilter__btn { padding: 0 8px; letter-spacing: .04em; }
  .inarch-pfilter__btn span { display: none; }
}
.inarch-prow { display: flex; flex-direction: column; gap: clamp(16px, 1.6vw, 22px); color: var(--inarch-ink); text-decoration: none; }
.inarch-prow__grid { display: grid; gap: var(--inarch-img-gap); height: clamp(320px, 40vw, 640px); }
.inarch-prow__grid.is-lp { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.inarch-prow__grid.is-ppp { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inarch-prow__grid.is-pl { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
/* Projektai rows: columns + aspect-ratio inline from the photos' shapes, no crop. */
.inarch-prow__grid.is-fit { height: auto; }
.inarch-prow__swipe { display: none; }
.inarch-prow__cap { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.inarch-prow__cap h3 { margin: -0.18em -0.3em 0; font-size: clamp(22px, 2.5vw, 40px); line-height: 1.15; }
.inarch-prow__cap .inarch-link { font-size: clamp(16px, 1.3vw, 19px); font-style: normal; }
@media (max-width: 899px) {
  .inarch-prow__grid { display: none; }
  .inarch-prow__swipe { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 0 -20px; padding: 0 20px; }
  .inarch-prow__swipe .inarch-cell { flex: 0 0 60vw; height: 78vw; scroll-snap-align: start; }
  /* Projektai swipe: each photo whole, one height, width from its shape. */
  .inarch-prow__swipe .inarch-cell[style*="--ar"] { flex: 0 0 auto; height: 60vw; aspect-ratio: var(--ar); }
}

/* ---------- Project ---------- */
.inarch-phero { position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: var(--inarch-dark); color: #fff; }
.inarch-phero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.inarch-phero__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24, 22, 20, .18) 0%, rgba(24, 22, 20, 0) 30%, rgba(24, 22, 20, 0) 55%, rgba(24, 22, 20, .42) 100%); }
.inarch-phero__text { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(28px, 3.4vw, 56px) var(--inarch-edge); display: flex; flex-direction: column; gap: 12px; }
.inarch-phero h1 { margin: -0.18em -0.3em 0; font-size: clamp(40px, 6.4vw, 104px); line-height: 1.02; color: #fff; }
.inarch-phero__sub { font: italic 400 clamp(18px, 1.6vw, 24px) var(--inarch-serif); }

.inarch-pabout {
  background: var(--inarch-ground); color: var(--inarch-ink); padding: clamp(72px, 9vw, 140px) var(--inarch-edge);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 56px clamp(40px, 7vw, 140px); align-items: start;
}
.inarch-pabout__left, .inarch-pabout__right { display: flex; flex-direction: column; gap: 32px; }
.inarch-pabout__left > .inarch-link { align-self: flex-start; }
.inarch-pabout__right { gap: 28px; }
.inarch-pmeta { margin: 0; display: grid; grid-template-columns: minmax(120px, max-content) minmax(0, 1fr); gap: 14px 32px; padding-top: 24px; border-top: 1px solid var(--inarch-hairline); }
.inarch-pmeta dt { font: 400 13px var(--inarch-display); letter-spacing: .06em; text-transform: uppercase; color: var(--inarch-muted); }
.inarch-pmeta dd { margin: 0; font: 300 18px var(--inarch-display); color: var(--inarch-ink); }
.inarch-pabout__lead { margin: 0; font: 400 clamp(20px, 1.8vw, 26px)/1.45 var(--inarch-serif); text-wrap: pretty; }
.inarch-more { display: flex; flex-direction: column; gap: 14px; }
.inarch-more p { margin: 0; font: 400 18px/1.6 var(--inarch-serif); text-wrap: pretty; }
.inarch-more > .inarch-link { align-self: flex-start; }
.inarch-pabout__offer { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.inarch-pabout__offer span { font: 400 17px var(--inarch-serif); color: var(--inarch-muted); }

.inarch-pgal { background: var(--inarch-ground); color: var(--inarch-ink); padding: 0 var(--inarch-edge); display: flex; flex-direction: column; gap: clamp(72px, 9vw, 140px); }
.inarch-pgal__pair { display: flex; flex-wrap: wrap; gap: var(--inarch-img-gap); align-items: flex-end; }
.inarch-pgal__pair.is-rev { flex-direction: row-reverse; }
.inarch-pgal__big { flex: 1 1 560px; height: clamp(460px, 52vw, 860px); }
.inarch-pgal__small { flex: 0 1 34%; min-width: 220px; aspect-ratio: 4 / 5; margin-left: auto; }
.inarch-pgal__pair.is-rev .inarch-pgal__small { margin-left: 0; margin-right: auto; }
.inarch-pgal__full { margin: 0 calc(-1 * var(--inarch-edge)); height: clamp(420px, 56vw, 920px); }
.inarch-pgal__trio { display: flex; gap: var(--inarch-img-gap); overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--inarch-edge)); padding: 0 var(--inarch-edge); scroll-padding: 0 var(--inarch-edge); }
.inarch-pgal__trio > div { flex: 1 0 min(260px, 60vw); aspect-ratio: 3 / 4; scroll-snap-align: start; }
/* Uncropped gallery (Indrė, 2026-10-21): every cell has its photo's --ar.
   Desktop pairs and trios are justified rows (widths ∝ ratio, one height);
   below 900px pairs stack and trios swipe at one height. */
.inarch-pgal [style*="--ar"] { aspect-ratio: var(--ar); height: auto; }
.inarch-pgal__full.is-tall { margin: 0 auto; width: min(100%, calc(88vh * var(--ar))); }
@media (min-width: 900px) {
  .inarch-pgal__pair { flex-wrap: nowrap; align-items: flex-start; }
  .inarch-pgal__pair > [style*="--ar"] { flex: var(--ar) 1 0; min-width: 0; margin: 0; }
  .inarch-pgal__trio { overflow: visible; }
  .inarch-pgal__trio > [style*="--ar"] { flex: var(--ar) 1 0; min-width: 0; }
}
@media (max-width: 899px) {
  .inarch-pgal__pair > [style*="--ar"] { flex: 0 0 100%; }
  .inarch-pgal__pair > .inarch-pgal__small[style*="--ar"] { flex-basis: 66%; }
  .inarch-pgal__trio > [style*="--ar"] { flex: 0 0 auto; height: min(72vw, 460px); }
}
.inarch-pgal__text { margin: 0 0 0 auto; max-width: 600px; font: 400 clamp(18px, 1.5vw, 22px)/1.55 var(--inarch-serif); text-wrap: pretty; }

.inarch-lb { position: fixed; inset: 0; z-index: 80; background: var(--inarch-dark); color: var(--inarch-cream); display: flex; flex-direction: column; }
.inarch-lb[hidden] { display: none; }
.inarch-lb__top { display: flex; justify-content: space-between; align-items: center; padding: 20px var(--inarch-edge); }
.inarch-lb__top .inarch-x { margin: -12px -11px -12px 0; }
.inarch-lb__count { font: 300 15px var(--inarch-display); color: var(--inarch-ftr-link); }
.inarch-lb__stage { position: relative; flex: 1; min-height: 0; touch-action: pan-y; }
.inarch-lb__stage img { position: absolute; top: 0; left: clamp(20px, 6vw, 96px); width: calc(100% - 2 * clamp(20px, 6vw, 96px)); height: 100%; object-fit: contain; display: block; }
.inarch-lb__zone { all: unset; position: absolute; top: 0; bottom: 0; width: 50%; }
.inarch-lb__zone.is-prev { left: 0; cursor: w-resize; }
.inarch-lb__zone.is-next { right: 0; cursor: e-resize; }
.inarch-lb__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px var(--inarch-edge) 22px; }
.inarch-lb__bar span { font: 400 15px var(--inarch-serif); color: var(--inarch-ftr-link); text-align: center; }
.inarch-lb__bar .inarch-link { min-height: 44px; display: flex; align-items: center; color: var(--inarch-cream); }

.inarch-pnext { background: var(--inarch-ground); color: var(--inarch-ink); padding: clamp(120px, 14vw, 220px) var(--inarch-edge) clamp(96px, 12vw, 180px); display: flex; flex-direction: column; gap: clamp(40px, 4.4vw, 64px); }
.inarch-pnext h2 { margin: -0.18em -0.3em 0; font-size: clamp(36px, 4.6vw, 72px); line-height: 1; }
.inarch-pnext__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 56px var(--inarch-img-gap); }
.inarch-pnext__grid a { display: flex; flex-direction: column; gap: 18px; color: var(--inarch-ink); text-decoration: none; }
.inarch-pnext__grid .inarch-cell { aspect-ratio: 4 / 5; }
.inarch-pnext__cap { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px 20px; }
.inarch-pnext__cap .inarch-d { font-size: clamp(20px, 1.9vw, 30px); line-height: 1.15; }
.inarch-pnext__cap .inarch-link { font-size: 16px; }

/* ---------- Elementor pages (Apie, Paslaugos, DUK, legal, Parduotuvė…) ----------
   Their widgets hard-code Poppins in per-page CSS at 0,3,0–0,4,0, about
   100 rules, so the type system is applied here instead of widget by widget
   (plan, Phase 4). Shortcode widgets hold the plugin's own markup and are
   left alone, and so is plugin markup (`inarch-` classes) that other widgets
   carry, such as the gallery's „+N" overlay. Headings get the display
   treatment, buttons Lexend Medium, everything else the serif. */
body .elementor-widget:not(.elementor-widget-shortcode),
body .elementor-widget:not(.elementor-widget-shortcode) :is(p, li, a, span, strong, em, b, td, th, dt, dd, label, button, input, select, textarea, blockquote, h4, h5, h6, .elementor-image-box-description, .elementor-icon-box-description, .elementor-icon-list-text, .price):not([class*="inarch-"], .elementor-heading-title, .elementor-icon-box-title, .button, .inarch-calc *) {
  font-family: var(--inarch-serif) !important;
}
/* WooCommerce's own buttons inside Elementor widgets (cart: „Atnaujinti",
   „Pritaikyti", „Apmokėti") are interface, not reading: Lexend Medium on
   the scale, on the one dark. They came out Times 14/16/20px on #3d3d3d. */
body .elementor-widget.elementor-widget :is(button.button, a.button, input.button, a.checkout-button) {
  font-family: var(--inarch-display) !important; font-weight: 500 !important;
  font-size: var(--inarch-fs-ui) !important; letter-spacing: var(--inarch-ls-ui) !important;
  text-transform: uppercase !important; line-height: 1.2 !important;
  min-height: var(--inarch-btn-h); border-radius: 6px !important;
}
body .elementor-widget.elementor-widget :is(a.checkout-button, button.button[name="apply_coupon"], button.button[name="update_cart"]) {
  background-color: var(--inarch-dark) !important; color: var(--inarch-cream) !important;
}
/* ---------- Cart (Elementor Cart widget, /krepselis/) ----------
   Interface, not reading: Lexend ExtraLight for the text, Light for names
   and sums; 6px corners on the cards, fields and buttons like the shop's
   (--inarch-radius); and a remove control people find — a round × on
   desktop, a „Pašalinti ×" pill over the item on phones. The tripled widget
   class and .woocommerce outrank the serif rule above (0,4,1); !important beats the
   widget's own Poppins/Roboto settings and woocommerce.css's red ×. */
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce :is(td, th, a:not(.button, .checkout-button), span, bdi, label, input, p, h2, strong) {
  font-family: var(--inarch-display) !important; font-weight: 200 !important; color: var(--inarch-ink);
}
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce :is(td.product-name, td.product-name a, .woocommerce-Price-amount, .woocommerce-Price-amount bdi, .order-total td *) {
  font-size: var(--inarch-fs-small) !important; font-weight: 300 !important; line-height: 1.5 !important;
}
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce :is(thead th, .cart_totals th, .cart_totals h2),
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce table.shop_table_responsive tr td::before {
  font-family: var(--inarch-display) !important; font-size: var(--inarch-fs-ui) !important; font-weight: 400 !important;
  letter-spacing: var(--inarch-ls-ui) !important; text-transform: uppercase !important; color: var(--inarch-muted) !important;
}
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2 { color: var(--inarch-ink) !important; font-weight: 500 !important; }
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce .e-cart-section { border-radius: 6px !important; }
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce :is(input.qty, .coupon input.input-text) {
  border: 1px solid var(--inarch-hairline) !important; border-radius: 6px !important;
  font-size: var(--inarch-fs-small) !important; font-weight: 300 !important; min-height: 40px; padding: 0 12px !important;
}
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce .coupon input.input-text::placeholder { font-family: var(--inarch-display); font-weight: 200; }
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce td.product-thumbnail img { border-radius: 4px; }
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce a.remove {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  width: 32px; height: 32px; margin-right: 12px; border: 1px solid var(--inarch-hairline); border-radius: 999px;
  font-size: 0 !important; line-height: 1 !important;
  color: var(--inarch-ink) !important; background: transparent !important; text-decoration: none;
  transition: background-color .3s, border-color .3s, color .3s;
}
/* The × is drawn, not typed: Lexend's glyph sat below the circle's centre. */
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce a.remove::after {
  content: ""; flex: none; width: 10px; height: 10px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 1l8 8M9 1L1 9' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 1l8 8M9 1L1 9' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce a.remove:is(:hover, :focus-visible) {
  background: var(--inarch-dark) !important; border-color: var(--inarch-dark); color: var(--inarch-cream) !important;
}
@media (max-width: 767px) {
  body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce tr.cart_item td { padding: 10px 0 !important; }
  body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce tr.cart_item td.product-remove { text-align: right !important; padding: 0 0 6px !important; }
  body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce td.product-remove::before { display: none !important; }
  body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce a.remove { width: auto; height: 36px; padding: 0 14px; margin-right: 0; }
  body .elementor-widget.elementor-widget-woocommerce-cart.elementor-widget-woocommerce-cart .woocommerce a.remove::before {
    content: "Pašalinti"; font: 400 var(--inarch-fs-ui)/1 var(--inarch-display); letter-spacing: var(--inarch-ls-ui); text-transform: uppercase;
  }
}
/* ---------- Checkout (Elementor Checkout widget, /apmokejimas/) ----------
   Same type as the cart above: Lexend ExtraLight for the text, Light for
   names, sums and fields, and the cart's small uppercase grey labels for the
   field labels and the order table's headings. Without this the serif rule
   turned labels, fields and prices into Times beside Lexend headings. */
body .elementor-widget.elementor-widget-woocommerce-checkout-page.elementor-widget-woocommerce-checkout-page .woocommerce :is(td, th, a:not(.button), span:not(.required), bdi, label, input, select, textarea, p, li, strong) {
  font-family: var(--inarch-display) !important; font-weight: 200 !important; color: var(--inarch-ink);
}
body .elementor-widget.elementor-widget-woocommerce-checkout-page.elementor-widget-woocommerce-checkout-page .woocommerce :is(input.input-text, select, textarea, .select2-selection__rendered, td.product-name, .woocommerce-Price-amount, .woocommerce-Price-amount bdi, .order-total td *) {
  font-size: var(--inarch-fs-small) !important; font-weight: 300 !important; line-height: 1.5 !important;
}
body .elementor-widget.elementor-widget-woocommerce-checkout-page.elementor-widget-woocommerce-checkout-page .woocommerce :is(.form-row > label:not(.checkbox), thead th, tfoot th) {
  font-family: var(--inarch-display) !important; font-size: var(--inarch-fs-ui) !important; font-weight: 400 !important;
  letter-spacing: var(--inarch-ls-ui) !important; text-transform: uppercase !important; color: var(--inarch-muted) !important;
}
/* Section titles: the cart's „Krepšelio skaičiavimas", not a 19px Bold. */
body .elementor-widget.elementor-widget-woocommerce-checkout-page.elementor-widget-woocommerce-checkout-page .woocommerce h3 {
  font-family: var(--inarch-display) !important; font-size: var(--inarch-fs-ui) !important; font-weight: 500 !important;
  letter-spacing: var(--inarch-ls-ui) !important; text-transform: uppercase !important; color: var(--inarch-ink) !important;
}
body .elementor-widget.elementor-widget-woocommerce-checkout-page.elementor-widget-woocommerce-checkout-page .woocommerce a:not(.button) { font-weight: 400 !important; }
/* Page titles still set in Elementor (Krepšelis, D.U.K., the legal pages)
   take the item-title step; each widget's own px size used to win. */
body .elementor-widget-heading.elementor-widget-heading h1.elementor-heading-title {
  font-size: var(--inarch-fs-d2) !important; line-height: 1 !important;
}
/* doubled class: outranks the serif rule's 0,4,1 */
body .elementor-widget:not(.elementor-widget-shortcode) .elementor-button.elementor-button,
body .elementor-widget:not(.elementor-widget-shortcode) .elementor-button.elementor-button :is(span, strong, em, b) {
  font-family: var(--inarch-display) !important; font-weight: 500 !important; letter-spacing: .08em !important;
}
/* Display treatment for real headings only (h1–h3, image-box titles). Small
   headings set as p/div/h4–h6 and icon-box titles (the e-mail / phone / address
   labels on Kontaktai) are labels: condensed display type at 15–20px is
   unreadable, so they get Lexend Medium with open tracking. */
body .elementor-widget:not(.elementor-widget-shortcode) :is(h1, h2, h3, .elementor-image-box-title):not(.elementor-icon-box-title) {
  font-family: var(--inarch-display) !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: -0.1em !important; padding-right: 0.1em;
  transform: scaleY(0.85); transform-origin: 50% 100%;
}
body .elementor-widget:not(.elementor-widget-shortcode) :is(p, div, span, h4, h5, h6).elementor-heading-title,
body .elementor-widget:not(.elementor-widget-shortcode) .elementor-icon-box-title {
  font-family: var(--inarch-display) !important; font-weight: 500 !important;
  letter-spacing: .04em !important; transform: none; padding-right: 0;
}
/* doubled class: 0,4,2 beats the serif rule's 0,4,1 on links inside headings */
body .elementor-widget.elementor-widget:not(.elementor-widget-shortcode) :is(h1, h2, h3, .elementor-heading-title, .elementor-image-box-title, .elementor-icon-box-title) :is(span, a, strong, em, b) {
  font-family: inherit !important; letter-spacing: inherit !important;
}

/* ---------- Partnerystės: hub rows, Scale11 closing block ---------- */
.inarch-partners { padding: clamp(24px, 3vw, 48px) var(--inarch-edge) clamp(96px, 12vw, 180px); }
.inarch-prow__name { display: flex; flex-direction: column; gap: 10px; }
.inarch-prow__name h2 { margin: -0.18em -0.3em 0; font-size: clamp(28px, 3.6vw, 56px); line-height: 1.1; }
.inarch-prow__name p { margin: 0; font: 400 15px/1.6 var(--inarch-serif); color: var(--inarch-muted); }

.inarch-pclose {
  background: var(--inarch-ground); color: var(--inarch-ink); overflow-x: clip;
  padding: clamp(120px, 14vw, 220px) var(--inarch-edge) 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 56px clamp(40px, 7vw, 140px); align-items: center;
}
.inarch-pclose__film { justify-self: center; width: min(100%, 420px); aspect-ratio: 9 / 16; background: var(--inarch-placeholder); overflow: hidden; }
.inarch-pclose__film video { width: 100%; height: 100%; object-fit: cover; display: block; }
.inarch-pclose__text { display: flex; flex-direction: column; gap: 40px; max-width: 600px; }
.inarch-pclose blockquote { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.inarch-pclose blockquote p { margin: 0; font: italic 400 clamp(22px, 2.2vw, 32px)/1.4 var(--inarch-serif); text-wrap: pretty; }
.inarch-pclose blockquote footer { font: 400 15px var(--inarch-serif); color: var(--inarch-muted); }
.inarch-pclose__text > p { margin: 0; font: 400 18px/1.6 var(--inarch-serif); text-wrap: pretty; }

/* ---------- Partner intro (design 10b) ----------
   Dark band; the name as a wordmark sized to fit one line (--len = letters);
   four photos stepping over its foot; the italic line sits in a first grid
   row on the corner of the last photo (Rokas 2026-10-21), the photo under it
   steps down by that row, the others span it; text + link right.
   Not .inarch-intro: shop.css owns that (catalog intro). */
.inarch-pintro {
  --fs: min(300px, calc((100vw - 2 * var(--inarch-edge)) / (var(--len) * .66)));
  position: relative; background: var(--inarch-dark); color: var(--inarch-cream); overflow-x: clip;
  padding: clamp(64px, 7vw, 96px) var(--inarch-edge) clamp(32px, 3.2vw, 44px);
}
.inarch-pintro__title { margin: -0.18em -0.3em 0; font-size: var(--fs); line-height: .8; white-space: nowrap; color: var(--inarch-cream); }
.inarch-pintro__items {
  position: relative; z-index: 1; margin-top: calc(var(--fs) * -0.12);
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: minmax(56px, auto) auto;
  gap: 0 24px; align-items: start;
}
.inarch-pintro__items .inarch-cell { grid-row: 1 / 3; height: clamp(240px, 32vw, 440px); background: #fff; }
.inarch-pintro__items .inarch-cell:nth-child(2) { margin-top: 70px; }
.inarch-pintro__items .inarch-cell:nth-child(4) { grid-row: 2; margin-top: 14px; }
.inarch-pintro__line { grid-area: 1 / 4; align-self: end; justify-self: end; margin: 0; text-align: right; font: italic 400 clamp(26px, 2.5vw, 34px)/1.2 var(--inarch-serif); text-wrap: balance; }
.inarch-pintro__foot { margin-top: clamp(32px, 4vw, 56px); display: flex; justify-content: flex-end; align-items: flex-end; gap: 24px 40px; flex-wrap: wrap; }
.inarch-pintro__side { display: flex; align-items: flex-end; gap: 40px; }
.inarch-pintro__text { margin: 0; max-width: 300px; font: 400 15px/1.7 var(--inarch-serif); color: var(--inarch-ftr-link); text-wrap: pretty; }
body a.inarch-link.inarch-pintro__more, body a.inarch-link.inarch-pintro__more:hover { font: 400 15px var(--inarch-serif); letter-spacing: 0; text-transform: none; color: var(--inarch-cream); } /* shop.css .inarch-link is caps; the kit colours links */
@media (max-width: 899px) {
  .inarch-pintro { --fs: min(84px, calc((100vw - 2 * var(--inarch-edge)) / (var(--len) * .66))); padding-top: 72px; padding-bottom: 72px; }
  /* The photos tuck over the wordmark's foot, as on desktop (Rokas 2026-10-20). */
  .inarch-pintro__items { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(32px, auto) auto auto; gap: 0 10px; margin-top: calc(var(--fs) * -0.22); }
  .inarch-pintro__items .inarch-cell { height: 240px; }
  .inarch-pintro__items .inarch-cell:nth-child(2) { grid-row: 2; margin-top: 8px; }
  .inarch-pintro__items .inarch-cell:nth-child(3) { grid-row: 3; margin-top: 10px; }
  .inarch-pintro__items .inarch-cell:nth-child(4) { grid-row: 3; margin-top: 50px; }
  .inarch-pintro__line { grid-area: 1 / 2; padding-top: 8px; font-size: 26px; } /* clear of a wide wordmark (ARCHÈ) */
  .inarch-pintro__foot, .inarch-pintro__side { flex-direction: column; align-items: flex-start; gap: 24px; }
  .inarch-pintro__text { font-size: 15px; max-width: none; }
}

/* Elementor's column container takes a shortcode widget's height from its
   intrinsic size, which an auto-fit grid reports at one column: on phones the
   home cards left ~725px of empty grey above the footer. A definite width
   makes the measurement match the layout. */
.elementor-widget-shortcode:has(.inarch-home-cards, .inarch-plist-sec, .inarch-pabout, .inarch-pnext, .inarch-pclose, .inarch-pintro, .inarch-abt, .inarch-ftr) { width: 100%; }

/* Elementor content pages (Apie, Paslaugos, Kontaktai…) keep a 10px container
   gutter on phones; the site edge is 20px. Plugin sections and shop pages
   are left alone. */
@media (max-width: 767px) {
  body.page:not(.woocommerce-page) .elementor > .e-con:not(:has(.elementor-widget-shortcode)) {
    padding-left: var(--inarch-edge) !important; padding-right: var(--inarch-edge) !important;
  }
}

/* ---------- Projektai: for sale; project page: „Patiko šis interjeras?" ---------- */
.inarch-prow__sale { display: inline-flex; vertical-align: top; margin-left: .35em; transform: translateY(.1em); color: var(--inarch-muted); }
.inarch-pshop { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 24px; border-top: 1px solid var(--inarch-hairline); }
.inarch-pshop p { margin: 0; font: 400 17px/1.6 var(--inarch-serif); text-wrap: pretty; }
.inarch-pshop .inarch-pshop__title { font: 400 13px var(--inarch-display); letter-spacing: .06em; text-transform: uppercase; color: var(--inarch-muted); }

/* ---------- Paslaugos: Projektai rows whose caption is a „+" toggle ---------- */
.inarch-srow__toggle {
  all: unset; box-sizing: border-box; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  gap: 24px; min-height: 44px; color: var(--inarch-ink);
}
.inarch-srow__toggle .inarch-mask { font-size: clamp(28px, 3.6vw, 56px); line-height: 1.1; }
.inarch-srow__toggle i { flex: none; font: 300 clamp(30px, 2.6vw, 40px)/1 Poppins, sans-serif; font-style: normal; transition: transform .6s var(--inarch-ease); }
.inarch-srow__toggle[aria-expanded="true"] i { transform: rotate(45deg); }
div.inarch-srow__toggle { cursor: default; }
.inarch-srow__soon { flex: none; font: italic 400 clamp(17px, 1.4vw, 20px) var(--inarch-serif); color: var(--inarch-muted); }
.inarch-srow__body { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 620px; padding: 4px 0 8px; }
.inarch-srow__body p { margin: 0; font: 400 clamp(18px, 1.5vw, 21px)/1.55 var(--inarch-serif); text-wrap: pretty; }
.inarch-srow__body ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font: 400 17px/1.5 var(--inarch-serif); }
.inarch-srow__body li::before { content: "— "; color: var(--inarch-muted); }
.inarch-srow { gap: clamp(12px, 1.2vw, 18px); }

/* ---------- Partnerystės: „Turite idėją?", the application form ----------
   Straight under the hub's intro since 10-20 (Rokas), the rows below it. */
.inarch-idea {
  margin-bottom: clamp(96px, 12vw, 180px);
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 720px;
}
.inarch-idea h2 { margin: -0.18em -0.3em 0; font-size: clamp(40px, 6vw, 96px); line-height: 1; }
.inarch-idea p { margin: 0; font: 400 clamp(18px, 1.55vw, 22px)/1.5 var(--inarch-serif); text-wrap: pretty; }
.inarch-idea .inarch-idea__line { font-style: italic; }
.inarch-idea .inarch-link { font-size: clamp(18px, 1.5vw, 22px); }

.inarch-pform { padding: clamp(24px, 3vw, 48px) var(--inarch-edge) clamp(96px, 12vw, 180px); }
.inarch-pform__form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 28px 40px; max-width: 960px; }
.inarch-pform__field, .inarch-pform__consent { display: flex; flex-direction: column; gap: 8px; }
.inarch-pform .is-wide { grid-column: 1 / -1; }
.inarch-pform__field > span { font: 400 13px var(--inarch-display); letter-spacing: .06em; text-transform: uppercase; color: var(--inarch-muted); }
.inarch-pform__field :is(input, textarea) {
  box-sizing: border-box; width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--inarch-ink); border-radius: 0;
  background: transparent; color: var(--inarch-ink); font: 400 18px/1.5 var(--inarch-serif); outline: none;
}
.inarch-pform__field textarea { resize: vertical; }
.inarch-pform__field :is(input, textarea):focus { border-bottom-width: 2px; padding-bottom: 9px; }
.inarch-pform__field input[type="file"] { border: 0; padding: 4px 0; font-size: 15px; }
.inarch-pform__consent { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 6px 12px; font: 400 15px/1.5 var(--inarch-serif); }
.inarch-pform__consent span { flex: 1 1 260px; }
.inarch-pform__consent input { margin: 4px 0 0; width: 18px; height: 18px; accent-color: var(--inarch-ink); }
body .inarch-pform__consent a, body .inarch-pform__consent a:hover { color: inherit; text-decoration: underline; }
.inarch-pform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.inarch-pform__err { display: block; flex-basis: 100%; font: 400 14px var(--inarch-serif); color: #a3341f; }
button.inarch-pform__send, button.inarch-pform__send:is(:hover, :focus, :active) {
  justify-self: start; padding: 16px 32px; border: 1px solid var(--inarch-ink); border-radius: 0; background: var(--inarch-ink); color: var(--inarch-ground);
  font: 400 13px var(--inarch-display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: opacity .3s;
}
button.inarch-pform__send:hover { opacity: .8; }
.inarch-pform__done { display: flex; flex-direction: column; gap: 16px; max-width: 620px; }
.inarch-pform__done h2 { margin: -0.18em -0.3em 0; font-size: clamp(40px, 6vw, 96px); line-height: 1; }
.inarch-pform__done p { margin: 0; font: 400 clamp(18px, 1.55vw, 22px)/1.5 var(--inarch-serif); }

/* ---------- Interjero projektavimas (page 18): Projektai sections, one per package ---------- */
.inarch-pkgs .inarch-plist-sec__title h2 { font-size: clamp(34px, 4.6vw, 76px); line-height: 1.05; }
.inarch-pkg { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 96px); align-items: center; } /* list mid-photo (Rokas 2026-10-20) */
.inarch-pkg__img { aspect-ratio: 4 / 5; }
.inarch-pkg__items { display: flex; flex-direction: column; }
.inarch-pkg__item { border-top: 1px solid var(--inarch-hairline); }
.inarch-pkg__item:last-of-type { border-bottom: 1px solid var(--inarch-hairline); }
.inarch-pkg__toggle {
  all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  gap: 16px; min-height: 60px; font: 500 14px var(--inarch-display); letter-spacing: .06em; text-transform: uppercase; color: var(--inarch-ink);
}
.inarch-pkg__toggle i { flex: none; font: 300 24px/1 Poppins, sans-serif; font-style: normal; transition: transform .6s var(--inarch-ease); }
.inarch-pkg__toggle[aria-expanded="true"] i { transform: rotate(45deg); }
.inarch-pkg__item ul { margin: 0; padding: 0 0 24px; list-style: none; display: flex; flex-direction: column; gap: 6px; font: 400 17px/1.5 var(--inarch-serif); }
.inarch-pkg__item li::before { content: "— "; color: var(--inarch-muted); }
.inarch-pkg__item p { margin: 0; padding: 0 0 24px; max-width: 620px; font: 400 17px/1.6 var(--inarch-serif); text-wrap: pretty; }
.inarch-plist-intro__cta { align-self: flex-start; font-size: clamp(17px, 1.4vw, 20px); }
@media (max-width: 899px) {
  .inarch-pkg { grid-template-columns: 1fr; gap: 28px; }
  .inarch-pkg__img { aspect-ratio: 4 / 3; }
}

/* ---------- Apie (page 14, Indrė's design 2026-10-20) ----------
   inarch-abt, not inarch-about: shop.css owns that (product page). */
.inarch-abt-intro {
  background: var(--inarch-dark); color: var(--inarch-cream); overflow-x: clip;
  padding: clamp(16px, 2.4vw, 36px) var(--inarch-edge) 0;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4.4vw, 72px); align-items: center;
}
.inarch-abt-intro__photo { align-self: end; aspect-ratio: 20 / 21; background: #fff; }
.inarch-abt-intro__text { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(40px, 4vw, 64px) 0; max-width: 560px; }
.inarch-abt-label { margin: 0; font: 500 11px/1.4 var(--inarch-display); letter-spacing: .16em; text-transform: uppercase; }
.inarch-abt-intro__name { margin: 24px 0 0; font-size: clamp(44px, 5.6vw, 88px); line-height: .95; color: var(--inarch-cream); }
.inarch-abt-intro__roles { margin: 20px 0 0; font: 400 clamp(16px, 1.25vw, 18px)/1.5 var(--inarch-serif); }
.inarch-abt-intro__roles span { margin: 0 .35em; opacity: .7; }
.inarch-abt-intro__quote { margin: 0; padding-top: clamp(28px, 3vw, 40px); }
.inarch-abt-intro__quote::before { content: ""; display: block; width: 40px; height: 1px; background: currentColor; opacity: .5; margin-bottom: clamp(28px, 3vw, 40px); }
.inarch-abt-intro__quote p { margin: 0; font: 400 clamp(24px, 2.3vw, 34px)/1.3 var(--inarch-serif); text-wrap: balance; }
.inarch-abt-intro__lead { margin: 28px 0 0; font: 400 16px/1.6 var(--inarch-serif); text-wrap: pretty; }

.inarch-abt-stats {
  list-style: none; margin: 0; background: #e3e1dd; color: var(--inarch-ink);
  padding: clamp(48px, 5.6vw, 88px) var(--inarch-edge);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inarch-abt-stats li { display: flex; flex-direction: column; gap: 12px; padding: 0 clamp(16px, 4vw, 72px); }
.inarch-abt-stats li + li { border-left: 1px solid #c9c6c1; }
.inarch-abt-stats strong { font: 600 clamp(36px, 3.6vw, 52px)/1 var(--inarch-display); letter-spacing: -0.03em; }
.inarch-abt-stats span { max-width: 240px; font: 400 14px/1.45 var(--inarch-serif); letter-spacing: .04em; text-transform: uppercase; }

.inarch-abt { background: var(--inarch-ground); color: var(--inarch-ink); overflow-x: clip; padding: 0 var(--inarch-edge) clamp(96px, 12vw, 180px); }
.inarch-abt-row {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 32px clamp(40px, 6vw, 120px); align-items: start;
  padding: clamp(48px, 5.6vw, 88px) 0;
}
.inarch-abt-row + .inarch-abt-row { border-top: 1px solid var(--inarch-hairline); }
.inarch-abt-row__head { display: flex; flex-direction: column; gap: 22px; }
.inarch-abt-row__head h2 { margin: 0 -0.3em; font-size: clamp(36px, 3.6vw, 56px); line-height: 1; }
.inarch-abt-row__text { display: flex; flex-direction: column; gap: 18px; max-width: 560px; }
.inarch-abt-row__text p:not(.inarch-abt-label) { margin: 0; font: 400 17px/1.6 var(--inarch-serif); text-wrap: pretty; }
.inarch-abt-row__text .inarch-abt-label { margin-top: 20px; }
.inarch-abt-row--team { grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 5fr); }
.inarch-abt-row__photo { aspect-ratio: 6 / 5; }
.inarch-abt-row__photo img { object-position: 50% 20%; }
/* One award, then a „+" for the rest (Rokas, 10-20). */
.inarch-abt-awards { font: 400 17px/1.5 var(--inarch-serif); }
.inarch-abt-awards ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.inarch-abt-awards li { padding: 12px 0; border-bottom: 1px solid var(--inarch-hairline); }
.inarch-abt-awards > ul:first-child li { padding-top: 0; }
.inarch-abt-awards__more {
  all: unset; box-sizing: border-box; display: flex; align-items: center; min-width: var(--inarch-tap); height: var(--inarch-tap);
  margin-top: 4px; cursor: pointer; font: 300 clamp(30px, 2.6vw, 40px)/1 Poppins, sans-serif;
}
.inarch-abt-awards__more i { font-style: normal; transition: transform .6s var(--inarch-ease); }
.inarch-abt-awards__more[aria-expanded="true"] i { transform: rotate(45deg); }
.inarch-abt-awards__more:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
body .inarch-abt-awards a, body .inarch-abt-awards a:hover { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.inarch-abt-awards a:hover { opacity: .6; }
@media (max-width: 899px) {
  .inarch-abt-intro { grid-template-columns: 1fr; padding-top: 0; }
  .inarch-abt-intro__photo { margin: 0 calc(-1 * var(--inarch-edge)); aspect-ratio: 1; }
  .inarch-abt-intro__text { padding: 40px 0 56px; }
  .inarch-abt-row, .inarch-abt-row--team { grid-template-columns: 1fr; }
  .inarch-abt-row__photo { max-width: 420px; }
  .inarch-abt-row__text .inarch-abt-label { margin-top: 0; }
}
@media (max-width: 599px) {
  .inarch-abt-intro__name { font-size: min(56px, calc((100vw - 2 * var(--inarch-edge)) / 6.4)); }
  .inarch-abt-stats { grid-template-columns: 1fr; padding-top: 16px; padding-bottom: 16px; }
  .inarch-abt-stats li { flex-direction: row; align-items: center; gap: 20px; padding: 24px 0; }
  .inarch-abt-stats li + li { border-left: 0; border-top: 1px solid #c9c6c1; }
  .inarch-abt-stats strong { flex: 0 0 96px; }
}

/* ---------- 404 ---------- */
.inarch-404 {
  min-height: 60vh; box-sizing: border-box; color: var(--inarch-ink);
  padding: clamp(72px, 10vw, 150px) var(--inarch-edge);
  display: flex; flex-direction: column; align-items: flex-start; gap: clamp(20px, 2.4vw, 32px);
}
.inarch-404 h1 { margin: -0.18em -0.3em 0; font-size: clamp(48px, 8vw, 128px); line-height: 1; }
.inarch-404 p { margin: 0; font: 400 clamp(18px, 1.55vw, 22px)/1.5 var(--inarch-serif); }
.inarch-404__links { display: flex; flex-wrap: wrap; gap: 12px 32px; }

@media (prefers-reduced-motion: reduce) {
  .inarch-hdr, .inarch-menu, .inarch-veil, .inarch-acc, .inarch-card__img, .inarch-cell img { transition: none !important; }
  .inarch-home-hero__video { display: none; }
}
