/* Final layout contract: responsive geometry without changing visual identity. */
html {
  min-width: 0;
  overflow-x: clip;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
.view-stage,
.portal-view,
.team-view,
.world-view {
  width: 100%;
  max-width: 100%;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

img,
video {
  height: auto;
}

button,
input,
select,
textarea {
  max-width: 100%;
  font: inherit;
}

p,
li,
a,
button,
label,
strong,
small,
h1,
h2,
h3 {
  overflow-wrap: anywhere;
}

:where(.home-copy, .page-copy, .orbital-content, .news-cloud, .shop-space, .legal-river, .team-member, .world-shell) {
  width: min(100%, 1240px);
  min-width: 0;
  margin-inline: auto;
}

:where(.portal-view, .home-view, .team-view, .world-view) > * {
  min-width: 0;
}

.portal-header {
  width: 100%;
  padding-inline: clamp(14px, 3vw, 40px);
}

.logo-menu-button {
  flex: 0 0 auto;
}

.form-grid,
.shipping-options,
.product-grid,
.blog-grid,
.legal-river,
.partner-logos {
  min-width: 0;
}

.form-grid > *,
.shipping-options > *,
.product-grid > *,
.blog-grid > *,
.legal-river > *,
.partner-logos > * {
  min-width: 0;
}

.modal {
  width: min(100% - 2rem, 760px);
  max-height: min(90dvh, 900px);
  margin: auto;
  overflow: auto;
}

.modal-card {
  width: 100%;
  max-width: 100%;
}

.cart-panel {
  width: min(100%, 430px);
  max-width: 100vw;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.panel-head {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.panel-head > * {
  min-width: 0;
}

.soft-actions,
.home-actions,
.detail-actions,
.category-bar,
.shop-info-links {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
}

@media (min-width: 1440px) {
  :where(.portal-view, .team-view, .world-view) {
    padding-inline: max(5vw, calc((100vw - 1440px) / 2));
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .portal-view.is-active {
    padding-inline: clamp(24px, 4vw, 48px);
  }

  .topic-view.is-active .orbital-content {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(28px, 4vw, 54px);
  }

  .topic-view .detail-bubble {
    min-width: 0;
    padding-inline: clamp(34px, 5vw, 62px);
  }

  .news-view .blog-grid,
  .news-view .material-river,
  .legal-river {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body:not([data-view="home"]) {
    height: auto;
    min-height: 100dvh;
    overflow-x: clip;
    overflow-y: auto;
  }

  body:not([data-view="home"]) .view-stage {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  :where(.portal-view, .news-view, .shop-view, .legal-view, .team-view) {
    width: 100%;
    max-width: 100%;
    padding-inline: clamp(16px, 5vw, 28px);
  }

  .portal-view.is-active,
  .topic-view.is-active .orbital-content,
  .news-cloud,
  .shop-space,
  .legal-river {
    min-width: 0;
    max-width: 100%;
  }

  .page-copy h1,
  .page-copy h2,
  .home-copy h1,
  .member-copy h1 {
    max-width: 100%;
  }

  .soft-actions > *,
  .home-actions > *,
  .detail-actions > * {
    flex: 0 1 auto;
  }

  .form-grid,
  .shipping-options,
  .product-grid,
  .blog-grid,
  .legal-river,
  .partner-logos {
    grid-template-columns: minmax(0, 1fr);
  }

  .form-grid input,
  .form-grid select,
  .form-grid textarea {
    width: 100%;
  }

  .modal {
    width: calc(100% - 1.25rem);
    max-height: calc(100dvh - 1.25rem);
  }

  .modal-card {
    padding: clamp(18px, 5vw, 30px);
  }

  .cart-panel {
    inset-inline: auto 0;
    width: min(100%, 390px);
  }

  .intro-stage .intro-next,
  .intro-stage .intro-next:hover,
  .intro-stage .intro-next:focus-visible {
    right: auto;
    bottom: max(16px, env(safe-area-inset-bottom));
    left: 50%;
    width: max-content;
    max-width: calc(100% - 32px);
    height: auto;
    min-height: 44px;
    padding-inline: 4px;
    white-space: normal;
    text-align: center;
    transform: translateX(-50%);
  }

  .planet-menu .menu-composition {
    width: 100%;
    max-width: 100vw;
    min-height: min(660px, 100dvh);
    padding-inline: 12px;
  }

  .planet-menu .menu-composition .planet-orbit {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 4vw, 22px) 8px;
  }

  .planet-menu .menu-composition .planet-link {
    width: min(100%, 110px);
    max-width: 110px;
    justify-self: center;
  }

  .team-member,
.world-person-step,
.world-intro-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .member-copy,
.world-copy,
.world-quote-step {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  :where(.portal-view, .news-view, .shop-view, .legal-view, .team-view) {
    padding-inline: 16px;
  }

  .soft-actions,
  .home-actions,
  .detail-actions,
  .category-bar {
    gap: 10px 14px;
  }

  .soft-actions > *,
  .home-actions > *,
  .detail-actions > * {
    max-width: 100%;
    white-space: normal;
  }

  .panel-head h2 {
    font-size: clamp(1.5rem, 8vw, 2.25rem);
  }

  .cart-panel {
    width: 100%;
  }
}

@media (max-width: 360px) {
  :where(.portal-view, .news-view, .shop-view, .legal-view, .team-view) {
    padding-inline: 12px;
  }

  .icon-button,
  .logo-menu-button {
    flex-shrink: 0;
  }
}

/* Compact circular menu: two calm columns and a readable detail panel. */
@media (max-width: 820px) {
  .planet-menu {
    overflow-x: hidden;
    overflow-y: auto;
    align-items: start;
    padding: max(24px, env(safe-area-inset-top)) 0 max(32px, env(safe-area-inset-bottom));
  }

  .planet-menu .menu-composition {
    width: min(100%, 520px);
    max-width: none;
    min-height: 0;
    aspect-ratio: auto;
    padding: 132px 24px 36px;
  }

  .planet-menu .menu-composition .menu-sun {
    top: 8px;
    left: 50%;
    width: 108px;
    height: 108px;
    padding: 12px;
    transform: translateX(-50%);
  }

  .planet-menu .menu-composition .planet-orbit {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 5vw, 28px);
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    align-items: center;
  }

  .planet-menu .menu-composition .planet-link {
    position: relative;
    top: auto;
    left: auto;
    width: clamp(112px, 34vw, 144px);
    height: auto;
    min-height: 0;
    max-width: 144px;
    aspect-ratio: 1;
    justify-self: center;
    padding: 16px 10px;
    transform: none;
  }

  .planet-menu .menu-composition .planet-link:nth-last-child(1):nth-child(odd) {
    grid-column: 1 / -1;
  }

  .planet-menu.is-open .menu-composition .planet-link,
  .planet-menu.is-open .menu-composition .planet-link:hover,
  .planet-menu.is-open .menu-composition .planet-link:focus-visible,
  .planet-menu.is-open .menu-composition .planet-link.is-selected {
    transform: none;
  }

  .planet-link strong {
    font-size: clamp(18px, 5.4vw, 23px);
    line-height: 1.05;
  }

  .planet-link > span {
    top: 9%;
    font-size: 13px;
  }

  .planet-menu.has-preview {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }

  .planet-menu.has-preview .menu-composition,
  .planet-menu.has-preview .menu-balance {
    visibility:hidden;
  }

  .planet-menu.has-preview .menu-preview,
  .planet-menu.preview-left .menu-preview,
  .planet-menu.preview-right .menu-preview {
    position:relative;
    inset:auto;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    min-width:100%;
    max-width:none;
    flex:0 0 100%;
    height:auto;
    min-height:100dvh;
    margin:auto;
    padding:clamp(58px, 13vw, 84px) clamp(30px, 9vw, 58px);
    border-radius:0;
    background:#fbe4af;
    text-align:left;
    transform:none;
    overflow-wrap:anywhere;
    box-sizing:border-box;
  }

  .planet-menu.preview-tone-sky .menu-preview { background:#c5e6f4; }
  .planet-menu.preview-tone-sun .menu-preview { background:#fbe4af; }
  .menu-preview h2 { font-size:clamp(34px, 10vw, 48px); }
  .menu-preview > p:not(.eyebrow) { font-size:clamp(16px, 4.4vw, 19px); line-height:1.55; }
}

@media (max-width: 380px) {
  .planet-menu .menu-composition { padding-inline:16px; }
  .planet-menu .menu-composition .planet-orbit { gap:16px 10px; }
  .planet-menu .menu-composition .planet-link { width:clamp(104px, 35vw, 126px); }
}

.menu-carousel-controls { display:none; }

@media (min-width: 821px) and (max-width: 1200px),
       (min-width: 821px) and (max-height: 900px) {
  .planet-menu {
    overflow:hidden;
    padding:12px;
  }

  .planet-menu .menu-composition {
    width:min(800px, 92vw, calc(100dvh - 32px));
    min-width:0;
  }

  .planet-menu .menu-composition .menu-sun {
    width:clamp(154px, 23%, 184px);
    height:auto;
    aspect-ratio:1;
    padding:22px;
  }

  .planet-menu .menu-composition .planet-link {
    width:clamp(148px, 23%, 180px);
    height:auto;
    min-height:0;
    aspect-ratio:1;
    padding:12px;
  }

  .planet-menu .planet-link strong {
    font-size:clamp(20px, 2vw, 25px);
  }

  .planet-menu [data-menu-preview="ambasadori-optimizma"] strong,
  .planet-menu [data-menu-preview="globalna-mreza"] strong {
    font-size:clamp(18px, 1.65vw, 21px);
  }

  .planet-menu .planet-link > span {
    font-size:13px;
  }
}

@media (max-width: 820px) {
  .planet-menu:not(.has-preview) .menu-balance { display:none; }
  .planet-menu .menu-composition {
    width:100%;
    height:650px;
    min-height:650px;
    padding:0;
    overflow:hidden;
  }

  .planet-menu .menu-composition .menu-sun {
    top:24px;
    width:112px;
    height:112px;
  }

  .planet-menu .menu-composition .planet-orbit {
    position:absolute;
    top:154px;
    left:0;
    display:block;
    width:100%;
    height:360px;
    overflow:visible;
    touch-action:pan-y;
  }

  .planet-menu .menu-composition .planet-link {
    position:absolute;
    top:50%;
    left:50%;
    width:min(80vw, 300px);
    height:min(80vw, 300px);
    max-width:none;
    margin:0;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,-50%) scale(.7);
    filter:blur(4px);
    transition:transform 900ms cubic-bezier(.22,1,.36,1),opacity 700ms ease,filter 700ms ease;
  }

  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset="0"] {
    z-index:5;
    opacity:1;
    filter:blur(0);
    pointer-events:auto;
    transform:translate(-50%,-50%) scale(1);
  }

  .planet-menu .menu-composition .planet-link strong {
    font-size:clamp(24px, 7vw, 32px);
  }

  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset="-1"] {
    z-index:4;
    opacity:.82;
    transform:translate(-122%,-50%) scale(.86);
  }

  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset="1"] {
    z-index:4;
    opacity:.82;
    transform:translate(22%,-50%) scale(.86);
  }

  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset="-2"] {
    z-index:3;
    opacity:.38;
    transform:translate(-180%,-50%) scale(.68);
  }

  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset="2"] {
    z-index:3;
    opacity:.38;
    transform:translate(80%,-50%) scale(.68);
  }

  .menu-carousel-controls {
    position:absolute;
    top:540px;
    left:50%;
    z-index:8;
    display:grid;
    grid-template-columns:48px minmax(68px,auto) 48px;
    gap:12px;
    align-items:center;
    transform:translateX(-50%);
  }

  .menu-carousel-controls button {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:0;
    border:2px solid var(--sun);
    border-radius:50%;
    background:#FEFEFE;
    color:var(--circle-orange);
    font-size:24px;
    cursor:pointer;
  }

  .menu-carousel-controls span {
    color:#fff;
    font-size:14px;
    text-align:center;
  }

  .menu-carousel-controls button:active {
    background:#ffb812;
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
  .menu-carousel-controls button:active .letter-wipe {
    --letter-color:#fff!important;
    --letter-hover-color:#fff!important;
  }

  .planet-menu.has-preview .menu-carousel-controls { display:none; }
}

/* WEB SHOP temporary view. */
body[data-view="do-shop"] { overflow:hidden; }
body[data-view="do-shop"] .view-stage { min-height:100dvh; }
body[data-view="do-shop"] .portal-view.shop-view.shop-coming-soon.is-active {
  position:fixed!important;
  inset:0;
  z-index:1;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  justify-items:center!important;
  grid-template-columns:none!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0;
  padding:clamp(82px, 10vh, 110px) 24px 30px!important;
  gap:0!important;
  overflow:hidden;
  box-sizing:border-box;
}

.shop-coming-orb {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:min(72vmin, 680px);
  max-width:calc(100vw - 48px);
  max-height:calc(100dvh - 130px);
  aspect-ratio:1;
  padding:clamp(40px, 8vw, 100px);
  border-radius:50%;
  background:#FFB812;
  color:#FEFEFE;
  text-align:center;
  animation:shop-coming-breathe 5s ease-in-out infinite;
}

.shop-coming-orb::before,
.shop-coming-orb::after {
  position:absolute;
  inset:-5%;
  z-index:-1;
  content:"";
  border:2px solid #56B8E8;
  border-radius:50%;
  animation:shop-coming-ring 5s ease-out infinite;
}

.shop-coming-orb::after { animation-delay:2.5s; }
.shop-coming-kicker { font-size:clamp(15px, 1.5vw, 22px); }
.shop-coming-orb h2 {
  margin:12px 0 8px;
  color:#FEFEFE!important;
  font-size:clamp(58px, 9vmin, 108px);
  line-height:.9;
  white-space:nowrap;
}
.shop-coming-note { font-size:clamp(16px, 1.5vw, 22px); }
.shop-menu-return {
  margin-top:clamp(24px, 5vh, 48px);
  min-height:48px;
  padding:12px 22px;
  border:2px solid #FEFEFE;
  border-radius:999px;
  background:transparent;
  color:#FEFEFE;
  font-size:16px;
  cursor:pointer;
}
.shop-menu-return:hover,
.shop-menu-return:focus-visible { background:#FEFEFE; color:#242423; }

@keyframes shop-coming-breathe {
  0%,100% { transform:scale(.97); }
  50% { transform:scale(1.02); }
}
@keyframes shop-coming-ring {
  0% { opacity:.7; transform:scale(.94); }
  70%,100% { opacity:0; transform:scale(1.15); }
}

@media (max-width: 700px) {
  body[data-view="do-shop"] .portal-view.shop-view.shop-coming-soon.is-active { padding:82px 16px 24px!important; }
  .shop-coming-orb { width:min(86vmin, 520px); max-width:calc(100vw - 32px); max-height:calc(100dvh - 118px); padding:40px 24px; }
  .shop-coming-orb h2 { font-size:clamp(52px, 16vw, 78px); }
}

@media (prefers-reduced-motion: reduce) {
  .shop-coming-orb,
  .shop-coming-orb::before,
  .shop-coming-orb::after { animation:none; }
}

/* One persistent portal background across every view. */
html,
body,
.view-stage {
  background:var(--portal-background)!important;
  background-attachment:fixed!important;
}

.portal-view,
.home-view,
.topic-view,
.news-view,
.shop-view,
.team-view,
.legal-view {
  background:transparent!important;
}

/* DO Projekti and DO Vijesti: document circles. */
body[data-view="projekti-optimizma"],
body[data-view="do-news"] { overflow:hidden; }

body[data-view="projekti-optimizma"] .portal-view.document-carousel-view.is-active,
body[data-view="do-news"] .portal-view.document-carousel-view.is-active {
  position:fixed!important;
  inset:0;
  z-index:2;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
}

.document-carousel-header {
  position:absolute;
  top:clamp(82px, 10vh, 112px);
  left:clamp(22px, 5vw, 84px);
  z-index:20;
  color:#167aa5;
  pointer-events:none;
}
.document-carousel-header p {
  margin:0 0 2px;
  color:#e68100;
  font-size:clamp(12px, 1vw, 15px);
  font-weight:800;
  text-transform:uppercase;
}
.document-carousel-header h1 {
  margin:0;
  color:#56b8e8;
  font-family:Modak, sans-serif;
  font-size:clamp(38px, 5vw, 76px);
  font-weight:400;
  line-height:.9;
}
.document-carousel-header span {
  display:block;
  margin-top:9px;
  color:#167aa5;
  font-size:14px;
  font-weight:800;
}
.document-carousel-header > h1 {
  display:block;
  white-space:nowrap;
  max-width:none;
  font-family:Modak, sans-serif!important;
  font-weight:400!important;
  color:var(--circle-blue)!important;
}

.document-circle-stage { position:absolute; inset:0; }
.document-circle {
  --circle-shift:0%;
  position:absolute;
  top:50%;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(76vmin, 790px);
  aspect-ratio:1;
  padding:clamp(58px, 8vmin, 105px);
  border:2px solid rgba(230,129,0,.55);
  border-radius:50%;
  background:#ffe2a2;
  color:#242423;
  opacity:0;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.7);
  transition:transform 2.9s cubic-bezier(.22,.8,.24,1), opacity 2.3s ease;
  box-sizing:border-box;
  pointer-events:none;
}
.document-circle:nth-child(even) {
  border-color:rgba(22,122,165,.5);
  background:#ccebf7;
}
.document-circle[data-circle-offset="0"] {
  z-index:8;
  opacity:1;
  transform:translate(-50%, -46%) scale(1);
  pointer-events:auto;
}
.document-circle[data-circle-offset="-1"] {
  --circle-shift:-64%;
  z-index:4;
  opacity:.62;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.78);
}
.document-circle[data-circle-offset="1"] {
  --circle-shift:64%;
  z-index:4;
  opacity:.62;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.78);
}
.document-circle[data-circle-offset="-2"] { --circle-shift:-112%; opacity:.12; }
.document-circle[data-circle-offset="2"] { --circle-shift:112%; opacity:.12; }

.document-circle-copy {
  width:72%;
  max-height:62%;
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px 14px 18px;
  text-align:center;
  scrollbar-color:#56b8e8 transparent;
  scrollbar-width:thin;
}
.document-circle-meta {
  margin:0 0 8px!important;
  color:#e68100;
  font-size:clamp(12px, 1vw, 15px)!important;
  font-weight:900;
  text-transform:uppercase;
}
.document-circle-copy h2 {
  margin:0 0 clamp(16px, 2.5vh, 26px);
  color:#167aa5!important;
  font-family:Modak, sans-serif;
  font-size:clamp(30px, 3.7vw, 58px);
  font-weight:400;
  line-height:1;
  overflow-wrap:anywhere;
}
.planet-menu[data-preview-page="zasto-optimizam"] #menu-preview-copy {
  white-space:pre-line;
  max-height:40dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-color:var(--circle-blue) transparent;
  scrollbar-width:thin;
}
.document-circle-copy p {
  margin:0 0 14px;
  font-size:clamp(18px, 1.38vw, 22.8px);
  font-weight:650;
  line-height:1.48;
  overflow-wrap:anywhere;
}
.document-circle-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.document-circle-links a {
  padding:9px 14px;
  border:2px solid #e68100;
  border-radius:999px;
  color:#167aa5;
  font-weight:800;
  text-decoration:none;
}
.document-circle-number {
  position:absolute;
  right:17%;
  bottom:12%;
  color:#e68100;
  font-family:Modak, sans-serif;
  font-size:clamp(28px, 3.5vw, 52px);
}
.document-carousel-controls {
  position:absolute;
  bottom:clamp(18px, 4vh, 38px);
  left:50%;
  z-index:30;
  display:flex;
  align-items:center;
  gap:14px;
  transform:translateX(-50%);
}
.document-carousel-controls > button {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:2px solid #e68100;
  border-radius:50%;
  background:#ffb812;
  color:#fefefe;
  font-size:24px;
  cursor:pointer;
}
.document-carousel-dots { display:flex; gap:8px; }
.document-carousel-dots button {
  width:11px;
  height:11px;
  padding:0;
  border:2px solid #167aa5;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}
.document-carousel-dots button[aria-current="true"] { background:#56b8e8; transform:scale(1.25); }

@media (max-width: 900px) {
  .document-carousel-header { top:76px; left:22px; }
  .document-circle { width:min(82vmin, 690px); }
  .document-circle[data-circle-offset="-1"] { --circle-shift:-72%; }
  .document-circle[data-circle-offset="1"] { --circle-shift:72%; }
  .document-circle-copy { width:76%; max-height:60%; }
}

@media (max-width: 700px) {
  .document-carousel-header { top:70px; left:18px; }
  .document-carousel-header h1 { font-size:clamp(36px, 12vw, 52px); }
  .document-carousel-header span { margin-top:5px; }
  .document-circle-stage { top:62px; bottom:68px; }
  .document-circle {
    top:51%;
    width:calc(100vw - 28px);
    height:min(68dvh, 620px);
    min-height:480px;
    aspect-ratio:auto;
    padding:72px 24px 58px;
    border-radius:48% / 24%;
    transform:translate(-50%, -45%) scale(.7);
  }
  .document-circle[data-circle-offset="0"] { transform:translate(-50%, -45%) scale(1); }
  .document-circle[data-circle-offset="-1"] { --circle-shift:-91%; transform:translate(calc(-50% + var(--circle-shift)), -45%) scale(.82); }
  .document-circle[data-circle-offset="1"] { --circle-shift:91%; transform:translate(calc(-50% + var(--circle-shift)), -45%) scale(.82); }
  .document-circle-copy { width:88%; max-height:76%; padding:6px 5px 18px; }
  .document-circle-copy h2 { font-size:clamp(27px, 9vw, 40px); }
  .document-circle-copy p { font-size:clamp(16.8px, 4.8vw, 20.4px); line-height:1.42; }
  .document-circle-number { right:13%; bottom:8%; font-size:34px; }
  .document-carousel-controls { bottom:14px; gap:10px; }
  .document-carousel-controls > button { width:44px; height:44px; }
}

@media (max-width: 380px), (max-height: 690px) {
  .document-carousel-header { top:62px; }
  .document-carousel-header p { display:none; }
  .document-carousel-header h1 { font-size:38px; }
  .document-circle-stage { top:46px; bottom:58px; }
  .document-circle { height:min(70dvh, 520px); min-height:390px; padding:58px 20px 48px; }
  .document-circle-copy { max-height:78%; }
  .document-circle-copy p { font-size:16.8px; }
  .document-carousel-controls { bottom:8px; }
}

@media (prefers-reduced-motion: reduce) {
  .document-circle { transition-duration:.01ms; }
}

/* Layered project/news carousel and expanded reading circle. */
.document-circle { cursor:default; left:54%; }
.document-circle[data-circle-offset="-1"] {
  --circle-shift:60%; opacity:.42;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.63);
}
.document-circle[data-circle-offset="1"] {
  --circle-shift:-72%; opacity:.7;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.78);
}
.document-circle[data-circle-offset="-2"] {
  --circle-shift:105%; opacity:.14;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.42);
}
.document-circle[data-circle-offset="2"] {
  --circle-shift:-116%; opacity:.28;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.55);
}
.document-circle[data-circle-offset="-3"] {
  --circle-shift:138%; z-index:1; opacity:.05;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.3);
}
.document-circle[data-circle-offset="3"] {
  --circle-shift:-148%; z-index:1; opacity:.1;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.4);
}
.document-circle[data-circle-offset="-4"],
.document-circle[data-circle-offset="-5"],
.document-circle[data-circle-offset="-6"],
.document-circle[data-circle-offset="4"],
.document-circle[data-circle-offset="5"],
.document-circle[data-circle-offset="6"] {
  opacity:0;
  transform:translate(calc(-50% + var(--circle-shift)), -46%) scale(.18);
}
.document-carousel-controls { width:100%; pointer-events:none; }
.document-carousel-controls > button {
  position:fixed;
  top:50%;
  width:clamp(58px, 6vw, 82px);
  height:clamp(58px, 6vw, 82px);
  transform:translateY(-50%);
  pointer-events:auto;
  transition:opacity .25s ease, transform .25s ease;
}
.document-carousel-controls > button:first-child { left:clamp(18px, 3vw, 48px); }
.document-carousel-controls > button:last-child { right:clamp(18px, 3vw, 48px); }
.document-carousel-controls > button:disabled { opacity:.18; cursor:default; }
.document-carousel-dots {
  position:fixed;
  bottom:clamp(18px, 4vh, 38px);
  left:50%;
  transform:translateX(-50%);
  pointer-events:auto;
}
.document-circle-copy { max-height:none; overflow:visible; }
.document-circle-copy p {
  display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4;
}
.document-circle-open {
  display:inline-block; margin-top:8px; padding-bottom:4px;
  border-bottom:2px solid #e68100; color:#167aa5; font-size:14px; font-weight:900;
}
.document-detail-overlay {
  position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:18px;
  background:rgba(254,254,254,.42); opacity:0; visibility:hidden;
  transition:opacity .55s ease, visibility 0s linear .55s;
}
.document-detail-overlay.is-open { opacity:1; visibility:visible; transition-delay:0s; }
.document-detail-circle {
  position:relative; display:flex; align-items:center; justify-content:center;
  width:min(94vmin, 980px); max-width:calc(100vw - 36px); max-height:calc(100dvh - 36px);
  aspect-ratio:1; padding:clamp(64px, 9vmin, 120px); border:3px solid #e68100;
  border-radius:50%; background:#ffe2a2; box-shadow:0 24px 90px rgba(22,122,165,.22);
  opacity:0; transform:scale(.55); box-sizing:border-box;
  transition:transform .8s cubic-bezier(.2,.85,.2,1), opacity .5s ease;
}
.document-detail-overlay.is-open .document-detail-circle { opacity:1; transform:scale(1); }
.document-detail-copy {
  width:72%; max-height:68%; overflow:auto; overscroll-behavior:contain;
  padding:8px 16px 24px; color:#167aa5; text-align:center;
  scrollbar-color:#56b8e8 transparent; scrollbar-width:thin;
}
.document-detail-meta {
  margin:0 0 8px!important; color:#e68100; font-size:14px!important;
  font-weight:900; text-transform:uppercase;
}
.document-detail-copy > .document-detail-meta { display:none; }
.document-detail-copy h2 {
  margin:0 0 22px; color:#167aa5!important; font-family:Modak, sans-serif;
  font-size:clamp(36px, 4.3vw, 68px); font-weight:400; line-height:.95;
  text-align:center;
  text-wrap:balance;
}
.document-detail-copy h2 > span { display:block; white-space:nowrap; }
.document-detail-copy p {
  margin:0 0 16px; font-size:clamp(16px, 1.35vw, 21px); font-weight:650; line-height:1.5;
}
.document-detail-close {
  position:fixed; top:24px; z-index:4; display:grid; place-items:center;
  width:48px; height:48px; padding:0; border:2px solid #167aa5; border-radius:50%;
  background:#56b8e8; color:#fefefe; font-size:20px; cursor:pointer;
}
@media (max-width:700px) {
  .document-circle { left:50%; }
  .document-circle[data-circle-offset="-1"] { --circle-shift:94%; transform:translate(calc(-50% + var(--circle-shift)), -45%) scale(.68); }
  .document-circle[data-circle-offset="1"] { --circle-shift:-94%; transform:translate(calc(-50% + var(--circle-shift)), -45%) scale(.78); }
  .document-carousel-controls > button {
    top:auto; bottom:8px; width:46px; height:46px; transform:none;
  }
  .document-carousel-controls > button:first-child { left:18px; }
  .document-carousel-controls > button:last-child { right:18px; }
  .document-carousel-dots { bottom:24px; }
  .document-circle-copy p { -webkit-line-clamp:5; }
  .document-circle-open { font-size:13px; }
  .document-detail-overlay { padding:8px; }
  .document-detail-circle {
    width:calc(100vw - 16px); max-width:none; height:calc(100dvh - 16px); max-height:none;
    aspect-ratio:auto; padding:76px 20px 44px; border-radius:48% / 18%;
  }
  .document-detail-copy { width:88%; max-height:78%; padding:6px 4px 22px; }
  .document-detail-copy h2 { font-size:clamp(26px, 8vw, 40px); }
  .document-detail-copy h2 > span { white-space:nowrap; }
  .document-detail-copy p { font-size:15px; line-height:1.45; }
  .document-detail-close { top:24px; right:auto; left:28px; width:44px; height:44px; }
}

/* Match the clean DO Svijet background and open details from the selected side. */
body[data-view="projekti-optimizma"] .portal-view.document-carousel-view.is-active::before,
body[data-view="projekti-optimizma"] .portal-view.document-carousel-view.is-active::after,
body[data-view="do-news"] .portal-view.document-carousel-view.is-active::before,
body[data-view="do-news"] .portal-view.document-carousel-view.is-active::after {
  display:none!important;
  content:none!important;
}

.document-detail-overlay {
  display:block;
  padding:0;
  background:rgba(254,254,254,.08);
  backdrop-filter:blur(6px);
}
.document-detail-circle {
  position:absolute;
  top:50%;
  z-index:1;
  width:clamp(820px, 72vw, 1450px);
  max-width:none;
  max-height:none;
  padding:clamp(72px, 10vmin, 138px);
}
.document-detail-overlay[data-detail-side="right"] .document-detail-circle {
  right:-4vw;
  transform:translate(22%, -50%) scale(.55);
}
.document-detail-overlay[data-detail-side="left"] .document-detail-circle {
  left:-4vw;
  transform:translate(-22%, -50%) scale(.55);
}
.document-detail-overlay[data-detail-tone="sky"] .document-detail-circle {
  border-color:#167aa5;
  background:#ccebf7;
}
.document-detail-overlay[data-detail-tone="sky"] .document-detail-copy h2 {
  color:#e68100!important;
}
.document-detail-overlay[data-detail-tone="sun"] .document-detail-copy h2 {
  color:#167aa5!important;
}
.document-detail-overlay.is-open[data-detail-side="right"] .document-detail-circle,
.document-detail-overlay.is-open[data-detail-side="left"] .document-detail-circle {
  opacity:1;
  transform:translate(0, -50%) scale(1);
}
.document-detail-overlay[data-detail-side="right"] .document-detail-close {
  right:auto;
  left:31%;
}
.document-detail-overlay[data-detail-side="left"] .document-detail-close {
  right:31%;
  left:auto;
}
.document-detail-menu {
  display:none!important;
  position:absolute;
  top:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:clamp(105px, 9vw, 150px);
  height:clamp(72px, 10vh, 96px);
  padding:clamp(20px, 3vh, 34px) 18px;
  border:0;
  color:#fefefe;
  opacity:0;
  cursor:pointer;
  transition:opacity .38s ease;
}
.document-detail-menu strong {
  font-family:Modak, sans-serif;
  font-size:clamp(24px, 2.4vw, 40px);
  font-weight:400;
  line-height:.9;
}
.document-detail-menu span { margin-top:4px; font-size:clamp(10px, .9vw, 14px); font-weight:900; }
.document-detail-overlay[data-detail-tone="sky"] .document-detail-menu {
  right:0;
  align-items:flex-end;
  padding-right:clamp(14px, 2vw, 30px);
  background:transparent;
}
.document-detail-overlay[data-detail-tone="sun"] .document-detail-menu {
  left:0;
  align-items:flex-start;
  padding-left:clamp(14px, 2vw, 30px);
  background:transparent;
}
.document-detail-overlay::before {
  position:absolute;
  top:0;
  z-index:0;
  width:clamp(210px, 25vw, 390px);
  height:100dvh;
  content:"";
  opacity:0;
  transition:opacity .42s ease;
}
.document-detail-overlay[data-detail-tone="sky"]::before { right:0; background:#ffb812; }
.document-detail-overlay[data-detail-tone="sun"]::before { left:0; background:var(--circle-blue); }
body:has(.document-detail-overlay.is-open) .portal-header {
  opacity:0;
  pointer-events:none;
}
.document-detail-overlay.is-open::before {
  opacity:1;
  transition-delay:.62s;
}
.document-detail-overlay.is-open .document-detail-menu {
  opacity:1;
  transition-delay:.86s;
}

@media (min-width:701px) {
  .document-carousel-header { top:18px; }
  .document-carousel-header h1 { font-size:clamp(34px, 4.2vw, 62px); }
  .document-detail-circle {
    top:73%;
    width:clamp(900px, 84vw, 1650px);
  }
  .document-detail-overlay[data-detail-side="right"] .document-detail-circle { right:-2vw; }
  .document-detail-overlay[data-detail-side="left"] .document-detail-circle { left:-3vw; }
  .document-detail-copy {
    position:absolute;
    top:18%;
    left:14%;
    width:72%;
    max-height:calc(100dvh - 160px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:clamp(20px, 3vh, 34px);
  }
  .document-detail-close { top:24px; }
  .document-detail-overlay[data-detail-side="right"] .document-detail-close {
    right:auto;
    left:clamp(110px, 15vw, 260px);
  }
  .document-detail-overlay[data-detail-side="left"] .document-detail-close {
    right:clamp(110px, 15vw, 260px);
    left:auto;
  }
}

@media (min-width:701px) {
  .document-detail-overlay[data-detail-tone="sky"] .document-detail-menu {
    right:clamp(12px, 1.5vw, 28px);
    width:clamp(112px, 8vw, 138px);
    padding-right:0;
    padding-left:0;
    align-items:center;
    text-align:center;
  }
}

@media (max-width:700px) {
  .document-detail-overlay { padding:0; }
  .document-detail-circle {
    top:50%;
    width:125vw;
    height:max(100dvh, 720px);
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    padding:82px max(13vw, 48px) 50px;
    border-radius:50%;
  }
  .document-detail-overlay[data-detail-side="right"] .document-detail-circle { right:-42vw; }
  .document-detail-overlay[data-detail-side="left"] .document-detail-circle { left:-42vw; }
  .document-detail-copy {
    position:absolute;
    width:calc(100vw - 44px);
    max-height:74%;
    padding:6px 4px 22px;
  }
  .document-detail-overlay[data-detail-side="left"] .document-detail-copy { left:calc(42vw + 22px); }
  .document-detail-overlay[data-detail-side="right"] .document-detail-copy {
    left:20px;
    width:calc(100vw - 100px);
  }
  .document-detail-close { top:78px; right:auto; left:18px; }
  .document-detail-overlay[data-detail-side="left"] .document-detail-close { right:18px; left:auto; }
  .document-detail-menu {
    width:104px;
    height:78px;
    padding:14px 10px;
  }
  .document-detail-menu strong { font-size:26px; }
  .document-detail-menu span { font-size:10px; }
  .document-detail-overlay[data-detail-tone="sky"] .document-detail-menu { padding-right:14px; }
  .document-detail-overlay[data-detail-tone="sun"] .document-detail-menu { padding-left:14px; }
  .document-detail-overlay::before { width:132px; height:100dvh; }
}

/*
  Central circle palette.
  Quick restore: point --circle-orange and --circle-blue to the two legacy values.
*/
:root {
  --circle-orange-legacy:#ffe2a2;
  --circle-blue-legacy:#ccebf7;
  --circle-orange:#ffb812;
  --circle-blue:#56b8e8;
}

/* Main menu and small menu planets. */
.planet-link.tone-sun,
.planet-link.tone-coral,
.mini-planet.tone-sun,
.mini-planet.tone-coral { background:var(--circle-orange)!important; color:#fff!important; }
.planet-link.tone-sky,
.planet-link.tone-sea,
.planet-link.tone-leaf,
.mini-planet.tone-sky,
.mini-planet.tone-sea,
.mini-planet.tone-leaf { background:var(--circle-blue)!important; color:#fff!important; }
.planet-link > span,
.planet-link > strong,
.planet-link > strong * { color:#fff!important; }
.planet-link > span { display:none!important; }
.planet-link.tone-sun .letter-wipe,
.planet-link.tone-coral .letter-wipe,
.mini-planet.tone-sun .letter-wipe,
.mini-planet.tone-coral .letter-wipe { --letter-hover-color:var(--circle-blue); }
.planet-link.tone-sky .letter-wipe,
.planet-link.tone-sea .letter-wipe,
.planet-link.tone-leaf .letter-wipe,
.mini-planet.tone-sky .letter-wipe,
.mini-planet.tone-sea .letter-wipe,
.mini-planet.tone-leaf .letter-wipe { --letter-hover-color:var(--circle-orange); }

/* Resting and expanded side circles share the menu planet palette. */
.planet-menu .menu-balance-left { background:var(--circle-orange); }
.planet-menu .menu-balance-right { background:var(--circle-blue); }
.planet-menu.preview-tone-sun.preview-left .menu-balance-left,
.planet-menu.preview-tone-sun.preview-right .menu-balance-right { background:var(--circle-orange); }
.planet-menu.preview-tone-sun #menu-preview-title { color:var(--circle-blue)!important; }
.planet-menu.preview-tone-sun #menu-preview-copy,
.planet-menu.preview-tone-sun #menu-preview-back,
.planet-menu.preview-tone-sun #menu-preview-link { color:#fff!important; }
.planet-menu.preview-tone-sun #menu-preview-link { border-bottom-color:currentColor; }
.planet-menu.preview-tone-sun #menu-preview-link .letter-wipe {
  --letter-color:#fff!important;
  --letter-hover-color:var(--circle-blue)!important;
}
.planet-menu.preview-tone-sun #menu-preview-link:hover,
.planet-menu.preview-tone-sun #menu-preview-link:focus-visible { color:var(--circle-blue)!important; }
.planet-menu.preview-tone-sky.preview-left .menu-balance-left,
.planet-menu.preview-tone-sky.preview-right .menu-balance-right { background:var(--circle-blue); }
.planet-menu.preview-tone-sky #menu-preview-title { color:var(--circle-orange)!important; }
.planet-menu.preview-tone-sky #menu-preview-copy,
.planet-menu.preview-tone-sky #menu-preview-back,
.planet-menu.preview-tone-sky #menu-preview-link { color:#fff!important; }
.planet-menu.preview-tone-sky #menu-preview-link { border-bottom-color:currentColor; }
.planet-menu.preview-tone-sky #menu-preview-link .letter-wipe {
  --letter-color:#fff!important;
  --letter-hover-color:var(--circle-orange)!important;
}
.planet-menu.preview-tone-sky #menu-preview-link:hover,
.planet-menu.preview-tone-sky #menu-preview-link:focus-visible { color:var(--circle-orange)!important; }
@media(max-width:820px) {
  .planet-menu.preview-tone-sky .menu-preview { background:var(--circle-blue); }
  .planet-menu.preview-tone-sun .menu-preview { background:var(--circle-orange); }
}

/* Mi smo portraits and expanded biographies. */
.team-view .member-portrait,
.team-view .member-portrait::before { background:var(--circle-orange); }
.team-view .member-kicker,
.team-view .member-intro,
.team-view .member-intro p,
.team-view .member-placeholder,
.team-view .member-read { color:#fff; }
.team-view .member-pagination button { color:#fff; }
.team-view .member-pagination [data-member-step="-1"] { color:var(--circle-blue); }
.team-view .member-pagination [data-member-step="1"] { color:var(--circle-orange); }
.team-view .member-read { border-bottom-color:#fff; }
.team-view .member-read .letter-wipe { --letter-color:#fff!important; }
.team-view .member-pagination .letter-wipe { --letter-color:#fff!important; }
.member-dialog .member-story-circle { background:var(--circle-blue); }
.member-dialog .member-story,
.member-dialog .member-story p { color:#fff!important; }
.member-dialog .member-story h2,
.member-dialog .member-story h3 { color:var(--circle-orange)!important; }
.member-dialog .member-story { scrollbar-color:#fff transparent; }
.member-dialog .member-close,
.member-dialog .member-scroll { background:var(--circle-orange); color:#fff; }
.member-dialog .letter-wipe { --letter-color:#fff!important; }

.document-carousel-view .document-carousel-controls {
  position:fixed; inset:0; width:100%; transform:none; pointer-events:none;
}
.document-carousel-view .document-carousel-controls > button {
  top:50%; width:clamp(44px,4vw,78px); height:clamp(44px,4vw,78px);
  border:0; border-radius:0; background:transparent; box-shadow:none;
  color:var(--circle-orange); transform:translateY(-50%);
}
.document-carousel-view .document-carousel-controls > button:first-child { left:4vw; }
.document-carousel-view .document-carousel-controls > button:last-child { right:4vw; }
.document-carousel-controls > button svg { display:block; width:100%; height:100%; }

/* Content circles and expanded details use the contrasting brand color. */
.document-circle,
.document-detail-circle { border:0; box-shadow:none; }
.document-circle { background:var(--circle-orange)!important; color:#fff; }
.document-circle:nth-child(even) { background:var(--circle-blue)!important; }
.document-circle-copy p,
.document-circle-meta,
.document-circle-open { color:#fff!important; }
.document-circle-copy p,
.document-circle-meta,
.document-circle-open,
.document-detail-copy > :not(h2) { font-family:Arial, sans-serif!important; }
.document-circle:nth-child(odd) .document-circle-copy h2 { color:var(--circle-blue)!important; }
.document-circle:nth-child(even) .document-circle-copy h2 { color:var(--circle-orange)!important; }
.document-circle:nth-child(odd) { --circle-hover:var(--circle-blue); }
.document-circle:nth-child(even) { --circle-hover:var(--circle-orange); }
.document-circle-open {
  border:0;
  border-bottom:2px solid #fff;
  border-radius:0;
  padding:0 0 4px;
  cursor:pointer;
  background:linear-gradient(90deg,var(--circle-hover) 0%,var(--circle-hover) 50%,#fff 50%,#fff 100%);
  background-size:200% 100%;
  background-position:100% 0;
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  transition:background-position 1.1s ease,border-color 1.1s ease;
}
.document-circle-open:hover,
.document-circle-open:focus-visible { background-position:0 0; border-bottom-color:var(--circle-hover); }
.document-circle-open { border-bottom-color:#fff; }
@media(prefers-reduced-motion:reduce) {
  .document-circle-open { transition:none; }
}
.document-detail-overlay[data-detail-tone="sun"] .document-detail-circle { background:var(--circle-orange)!important; }
.document-detail-overlay[data-detail-tone="sky"] .document-detail-circle { background:var(--circle-blue)!important; }
.document-detail-overlay[data-detail-tone="sun"] .document-detail-copy h2 { color:var(--circle-blue)!important; }
.document-detail-overlay[data-detail-tone="sky"] .document-detail-copy h2 { color:var(--circle-orange)!important; }
.document-detail-copy p,
.document-detail-copy .document-circle-links a { color:#fff!important; }
.document-detail-copy > :not(h2),
.document-detail-copy > :not(h2) * { color:#fff!important; }
body[data-view="do-projects"] .portal-view.is-active .document-circle-copy p,
body[data-view="do-projects"] .portal-view.is-active .document-detail-copy p,
body[data-view="do-news"] .portal-view.is-active .document-circle-copy p,
body[data-view="do-news"] .portal-view.is-active .document-detail-copy p { color:#fff!important; }
body:not([data-view="home"]):not([data-view="do-world"]):not([data-view="trebas-nas"]) .portal-view.document-carousel-view.is-active .document-circle-copy p,
body:not([data-view="home"]):not([data-view="do-world"]):not([data-view="trebas-nas"]) .portal-view.document-carousel-view.is-active .document-detail-copy p { color:#fff!important; }
.document-circle-copy h2,
.document-detail-copy h2,
.document-detail-copy h2 * { font-family:Modak, Arial, sans-serif!important; font-weight:400!important; }
.document-detail-copy .document-circle-links a { border-color:#fff; }
.document-detail-copy,
.document-detail-copy h2,
.document-detail-copy p { text-align:left; }
.document-detail-copy .document-circle-links { justify-content:flex-start; }
[data-view="projekti-optimizma"] .document-detail-copy {
  overflow-y:scroll;
  scrollbar-gutter:stable;
  scrollbar-color:var(--circle-blue) transparent;
  box-sizing:border-box;
  padding-bottom:48px;
}
[data-view="projekti-optimizma"] .document-detail-copy .document-circle-links { padding-bottom:8px; }
[data-view="projekti-optimizma"] .document-detail-overlay[data-detail-tone="sky"] .document-detail-copy {
  scrollbar-color:var(--circle-orange) transparent;
}
.document-circle-copy.document-circle-copy-full { max-height:62%; overflow:auto; }
.document-circle:nth-child(even) .document-circle-copy-full { scrollbar-color:var(--circle-orange) transparent; }
.document-circle-copy.document-circle-copy-full p { display:block; -webkit-line-clamp:unset; overflow:visible; }
.document-circle-scroll {
  position:absolute; bottom:10%; left:calc(50% - 24px);
  display:grid; place-items:center; width:48px; height:48px;
  padding:4px; border:0; background:transparent; color:var(--circle-orange);
  cursor:pointer;
}
.document-circle-scroll svg { width:100%; height:100%; }
.document-circle-scroll-up { top:10%; bottom:auto; }
.document-circle-scroll[hidden] { display:none; }
.document-circle-scroll:focus-visible { outline:2px solid var(--circle-orange); outline-offset:4px; }
.document-circle:nth-child(odd) .document-circle-scroll { color:var(--circle-blue); }
.document-circle:nth-child(odd) .document-circle-scroll:focus-visible { outline-color:var(--circle-blue); }
.document-circle-copy p { text-align:left; }
.document-circle-copy h2 {
  text-align:center;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.document-circle-copy p,
.document-detail-copy {
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.document-detail-reading-controls { position:absolute; bottom:8%; left:50%; translate:-50% 0; display:flex; gap:20px; }
.document-detail-reading-controls[hidden], .document-detail-reading-controls button[hidden] { display:none; }
.document-detail-reading-controls button { border:0; background:transparent; color:var(--circle-blue); font-size:36px; width:48px; height:48px; cursor:pointer; }
.document-detail-overlay[data-detail-tone="sky"] .document-detail-reading-controls button { color:var(--circle-orange); }
.document-detail-reading-controls button:hover, .document-detail-reading-controls button:focus-visible { scale:1.12; }
.document-detail-close:hover,
.document-detail-close:focus-visible,
.document-circle-scroll:hover,
.document-circle-scroll:focus-visible,
.document-carousel-controls > button:not(:disabled):hover,
.document-carousel-controls > button:not(:disabled):focus-visible { scale:1.12; }

/* Reusable content circles outside DO Svijet portraits. */
body:not([data-view="home"]) .topic-view .story-orb:nth-child(odd),
.shop-coming-orb { background:var(--circle-orange)!important; color:#fff!important; }
body:not([data-view="home"]) .topic-view .story-orb:nth-child(even) { background:var(--circle-blue)!important; color:#fff!important; }
body:not([data-view="home"]) .topic-view .story-orb small,
body:not([data-view="home"]) .topic-view .story-orb > span { color:#fff!important; }

/* Text circles in DO Svijet; portrait circles and their decorative rings are untouched. */
.world-intro-copy::before,
.world-person:nth-child(odd) .world-quote,
.world-final-orb::before { background:var(--circle-orange)!important; }
body[data-view="do-world"] .world-view.is-active .world-intro-copy::before {
  background:#ffb812!important;
}

.world-person:nth-child(even) .world-quote { background:var(--circle-blue)!important; }
.world-intro-copy,
.world-quote { color:#fff!important; }

/* Corner brand copy uses the same display face as the logo. */
.document-detail-menu,
.document-detail-menu strong,
.document-detail-menu span { font-family:Modak, sans-serif!important; font-weight:400!important; }

/* Keep the corner brand lockup aligned like the original logo on both sides. */
.document-detail-overlay[data-detail-tone="sky"] .document-detail-menu,
.document-detail-overlay[data-detail-tone="sun"] .document-detail-menu {
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
  text-align:center;
}
.document-detail-menu strong,
.document-detail-menu span {
  display:block;
  width:100%;
  white-space:nowrap;
  text-align:center;
  line-height:1;
}
.document-detail-menu span { margin-top:5px; }

/* Project carousel proportions and vertical section indicators. */
.document-detail-overlay .document-detail-copy p .go-year-blue { color:var(--circle-blue)!important; }

body[data-view="savez-optimizma"] .portal-footer { display:none; }
.team-view .member-pagination {
  position:fixed; left:8px; right:auto; top:36.5dvh;
  height:26dvh; width:18px; margin:0; transform:none;
  flex-direction:column; flex-wrap:nowrap; align-items:center;
  justify-content:space-between; gap:0;
}
.team-view .member-pagination [data-member-index] {
  flex:none; width:11px; height:11px; min-height:11px;
  padding:0; border:2px solid #167aa5; border-radius:50%;
  background:transparent;
}
.team-view .member-pagination [data-member-index]::before { content:none; }
.team-view .member-pagination [data-member-index][aria-current="true"] {
  background:#56b8e8; transform:scale(1.25);
}
.team-view .member-pagination [data-member-step] {
  position:fixed; right:2.5vw; top:calc(60dvh - 145px);
  width:57.6px; height:57.6px; font-size:43.2px;
}
.team-view .member-pagination [data-member-step="-1"] { top:calc(60dvh - 200px); }
@media (max-width:820px) {
  .team-view .member-pagination [data-member-step] { right:12px; }
}
.planet-menu .menu-composition .planet-link,
.planet-menu .menu-balance-left,
.planet-menu .menu-balance-right { box-shadow:inset 0 0 0 1px #fff; }
.planet-menu .menu-composition .menu-sun { transition:transform 420ms cubic-bezier(.2,.8,.2,1),scale 220ms ease; }
.planet-menu .menu-composition .menu-sun:hover,
.planet-menu .menu-composition .menu-sun:focus-visible { scale:.96; }
@media (prefers-reduced-motion:reduce) {
  .planet-menu .menu-composition .menu-sun { transition:none; }
}
[data-view="projekti-optimizma"] .document-carousel-dots {
  left:8px;
  top:36.5dvh;
  bottom:auto;
  height:26dvh;
  width:18px;
  transform:none;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:0;
  pointer-events:auto;
}
@media (min-width:701px) {
  :is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle {
    width:min(94vmin, 980px);
    padding:clamp(72px, 10vmin, 130px);
  }
  :is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-copy h2 { font-size:clamp(37px, 4.6vw, 72px); }
  :is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-copy p { font-size:clamp(22px, 1.71vw, 28px); }
  :is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-open { font-size:17px; }
}

@media (max-width:700px) {
  .document-detail-menu { width:120px; padding-right:8px!important; padding-left:8px!important; }
  .document-detail-menu strong { font-size:25px; }
  .document-detail-menu span { font-size:9px; }
}

/* Mobile reading views use the full screen instead of desktop circles. */
@media (max-width:820px) {
  .document-circle-stage { inset:0; }
  .document-carousel-view .document-circle {
    top:0; left:0; width:100vw; height:100dvh; min-height:100dvh;
    border:0; border-radius:0; aspect-ratio:auto; padding:104px 24px 84px;
    transform:translateX(-100%); opacity:0;
  }
  .document-carousel-view .document-circle[data-circle-offset] { transform:translateX(-100%); opacity:0; }
  .document-carousel-view .document-circle[data-circle-offset='0'] { transform:translateX(0); opacity:1; }
  .document-carousel-view .document-circle[data-circle-offset^='-'] { transform:translateX(100%); }
  .document-carousel-view .document-circle-copy { width:100%; padding:0; max-height:100%; }
  .document-carousel-view .document-circle-copy.document-circle-copy-full { max-height:100%; }
  .document-detail-overlay .document-detail-circle {
    position:absolute; inset:0!important; width:100vw; height:100dvh;
    min-height:100dvh; max-width:none; max-height:none; border-radius:0;
    aspect-ratio:auto; padding:80px 24px 60px; transform:none!important;
  }
  .document-detail-overlay .document-detail-copy { position:relative; inset:auto; width:100%; max-height:100%; padding:0 4px 24px; }
  .member-dialog .member-story-circle { width:100vw; height:100dvh; border-radius:0; }
  .member-dialog .member-story-circle .member-story { width:100%; height:100%; padding:80px 24px; box-sizing:border-box; }
  .shop-coming-orb { width:100vw; height:100dvh; min-height:100dvh; max-width:none; max-height:none; border-radius:0; padding:96px 24px 60px; }
  body[data-view='do-shop'] .portal-view.shop-view.shop-coming-soon.is-active { padding:0!important; }
  .shop-coming-orb::before, .shop-coming-orb::after { display:none; }
  .world-view .world-final-orb {
    width:100vw; min-height:100dvh; aspect-ratio:auto; border-radius:0; padding:80px 24px; box-sizing:border-box;
  }
  .world-view .world-final-orb::before {
    inset:0; width:100%; height:100%; aspect-ratio:auto; border-radius:0; transform:none; animation:none;
  }
}

/* Complete mobile reading surfaces, excluding the four standalone topic views. */
@media (max-width:820px) {
  .planet-menu.has-preview:not([data-preview-page='zasto-optimizam']):not([data-preview-page='ambasadori-optimizma']):not([data-preview-page='globalna-mreza']):not([data-preview-page='savez-optimizma']) { padding:0; }
  .planet-menu.has-preview:not([data-preview-page='zasto-optimizam']):not([data-preview-page='ambasadori-optimizma']):not([data-preview-page='globalna-mreza']):not([data-preview-page='savez-optimizma']) .menu-composition { display:none; }
  .planet-menu.has-preview:not([data-preview-page='zasto-optimizam']):not([data-preview-page='ambasadori-optimizma']):not([data-preview-page='globalna-mreza']):not([data-preview-page='savez-optimizma']) .menu-preview {
    position:absolute; inset:0; width:100%; min-width:100%; max-width:none;
    min-height:100dvh; border-radius:0; margin:0; transform:none;
    display:flex; flex-direction:column; justify-content:center; padding:80px 28px;
  }
  .world-view .world-person .world-quote {
    width:100vw; max-width:none; min-height:100dvh; aspect-ratio:auto;
    border-radius:0; padding:80px 24px; box-sizing:border-box;
  }
  .world-view .world-person .world-quote-step { padding:0; }
  .world-view .world-finale { padding-inline:0; gap:0; }
  body[data-view='trebas-nas'] .team-view { background:var(--circle-orange); }
  body[data-view='trebas-nas'] .member-portrait { border-radius:0; background:var(--circle-orange); }
  body[data-view='trebas-nas'] .team-view .member-copy { min-height:100dvh; padding:60px 24px 90px; box-sizing:border-box; background:var(--circle-orange); }
}

/* Keep mobile reading backgrounds edge to edge, regardless of circle offsets. */
@media (max-width:820px) {
  body .document-carousel-view .document-circle-stage { inset:0!important; }
  body .document-carousel-view .document-circle {
    top:0!important; left:0!important; width:100vw!important; height:100dvh!important;
    min-height:100dvh!important; max-width:none!important; max-height:none!important;
    border-radius:0!important; clip-path:none!important; border:0!important; box-shadow:none!important;
  }
  body .document-carousel-view .document-circle[data-circle-offset='0'] { transform:translateX(0)!important; opacity:1!important; }
  body .document-carousel-view .document-detail-overlay { inset:0!important; padding:0!important; }
  body .document-carousel-view .document-detail-circle {
    position:fixed!important; inset:0!important; width:100vw!important; height:100dvh!important;
    min-height:100dvh!important; border-radius:0!important; clip-path:none!important;
    transform:none!important; border:0!important; box-shadow:none!important;
  }
  body .member-dialog .member-story-circle {
    width:100vw!important; height:100dvh!important; border-radius:0!important; clip-path:none!important;
  }
}

@media (max-width:820px) {
  body[data-view='do-world'] .portal-view.world-view { padding:0!important; max-width:none; }
  .world-view .world-person { padding:0!important; margin:0; gap:0; }
  .world-view .world-people, .world-view .world-person-track,
  .world-view .world-quote-step { width:100%; max-width:none; margin:0; padding:0!important; }
  .world-view .world-person .world-quote { width:100%; max-width:none; margin:0; border-radius:0!important; }
  .world-view .world-hero { padding-inline:0; }
  .world-view .world-intro-copy { width:100%; margin-inline:0; border-radius:0; }
  body[data-view='do-world'] .world-view.is-active .world-intro-copy::before {
    inset:0; width:100%; height:100%; aspect-ratio:auto; border-radius:0; transform:none;
  }
}

/* Mobile DO Svijet: one orange reading background from the introductory text onward. */
@media (max-width:820px) {
  body[data-view='do-world'] .world-view .world-intro-copy,
  body[data-view='do-world'] .world-view .world-people,
  body[data-view='do-world'] .world-view .world-finale { background:var(--circle-orange)!important; }
  body[data-view='do-world'] .world-view .world-person .world-quote,
body[data-view='do-world'] .world-view .world-final-orb { background:var(--circle-orange)!important; }
  body[data-view='do-world'] .world-view .world-intro-copy::before,
body[data-view='do-world'] .world-view .world-final-orb::before { background:var(--circle-orange)!important; }
  body[data-view='do-world'] .world-view .world-opening { padding-bottom:0; }
  body[data-view='do-world'] .world-view .world-hero { padding-bottom:0; }
}

/* Mi smo: continuous mobile background and horizontal pagination. */
@media (max-width:820px) {
  body[data-view='trebas-nas'],
  body[data-view='trebas-nas'] .view-stage,
  body[data-view='trebas-nas'] .team-view.is-active { background:var(--circle-orange)!important; }
  body[data-view='trebas-nas'] .team-view.is-active { padding:96px 0 0!important; width:100%; min-height:100dvh; }
  body[data-view='trebas-nas'] .team-member { width:100%; margin:0; gap:0; grid-template-columns:1fr; }
  body[data-view='trebas-nas'] .member-portrait { width:100%; max-width:none; margin:0; border-radius:0; }
  body[data-view='trebas-nas'] .member-copy { width:100%; margin:0; }
  body[data-view='trebas-nas'] .member-pagination {
    position:fixed; top:max(28px, env(safe-area-inset-top)); left:24px; right:auto;
    width:auto; height:18px; flex-direction:row; justify-content:flex-start; gap:20px; transform:none;
  }
}

/* Mobile menu displays only the selected item. */
@media (max-width:820px) {
  .planet-menu.is-open .menu-composition .planet-link { animation:none!important; scale:1; }
  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset]:not([data-carousel-offset='0']) {
    visibility:hidden; opacity:0!important; pointer-events:none;
  }
  .planet-menu.is-open .menu-composition .planet-link[data-carousel-offset='0'] { visibility:visible; filter:none; }
  body[data-view='home'] .planet-menu.is-open:not(.has-preview) .menu-composition .planet-link[data-carousel-offset='0'] {
    animation:orb-gentle-breathe 6s ease-in-out infinite!important;
    transform-origin:center;
  }
}
@keyframes orb-gentle-breathe {
  0%,100% { translate:0 0; }
  50% { translate:0 -8px; }
}
@media (min-width:821px) and (prefers-reduced-motion:no-preference) {
  .document-carousel-view.is-active .document-circle {
    animation:orb-gentle-breathe 6s ease-in-out infinite;
    transform-origin:center;
  }
  .document-carousel-view.is-active .document-circle:nth-child(2n) { animation-delay:-3s; }
  .document-carousel-view.is-active .document-circle:nth-child(3n) { animation-delay:-1.5s; }
}
@media (max-width:820px) and (prefers-reduced-motion:reduce) {
  body[data-view='home'] .planet-menu.is-open:not(.has-preview) .menu-composition .planet-link[data-carousel-offset='0'] {
    animation:none!important; scale:1!important; rotate:none; translate:none;
  }
}

@media (max-width:820px) {
  .document-carousel-view[data-active-tone='sun'] { --mobile-arrow-color:var(--circle-blue); }
  .document-carousel-view[data-active-tone='sky'] { --mobile-arrow-color:var(--circle-orange); }
  body .document-carousel-view .document-carousel-dots {
    position:fixed; top:auto; bottom:max(22px, env(safe-area-inset-bottom));
    left:50%; width:auto; height:auto; transform:translateX(-50%);
    flex-direction:row; justify-content:center; gap:8px;
  }
  body .document-carousel-view .document-carousel-controls > button {
    top:23dvh; bottom:auto; transform:translateY(-50%);
    width:44px; height:44px; color:var(--mobile-arrow-color);
  }
}

/* Center expanded mobile articles; scroll only when the article exceeds the screen. */
@media (max-width:820px) {
  body .document-carousel-view .document-detail-circle { display:flex; align-items:center; justify-content:center; }
  body .document-carousel-view .document-detail-copy {
    position:relative; inset:auto!important; width:100%; margin-inline:auto;
    max-height:calc(100dvh - 140px); overflow-y:auto; overflow-x:hidden;
    box-sizing:border-box; scrollbar-gutter:stable both-edges; text-align:center;
    padding:0 8px 24px; overscroll-behavior:contain;
  }
  body .document-carousel-view .document-detail-copy h2,
  body .document-carousel-view .document-detail-copy p { text-align:center; }
  body .document-carousel-view .document-detail-copy .document-circle-links { justify-content:center; }
  body .document-carousel-view .document-detail-overlay[data-detail-tone='sun'] .document-detail-copy { scrollbar-color:var(--circle-blue) transparent; }
  body .document-carousel-view .document-detail-overlay[data-detail-tone='sky'] .document-detail-copy { scrollbar-color:var(--circle-orange) transparent; }
}

@media (max-width:820px) {
  body .document-carousel-view[data-active-tone='sun'] .document-carousel-header > h1 { color:var(--circle-blue)!important; }
  body .document-carousel-view[data-active-tone='sky'] .document-carousel-header > h1 { color:var(--circle-orange)!important; }
}

/* Imported standalone scenes are isolated from the portal's styles. */

/* Match the menu circles on the logo that returns to the main menu. */
.logo-menu-button { position:relative; }
.logo-menu-button::after { content:''; position:absolute; inset:0; border:1px solid #fff; border-radius:50%; pointer-events:none; }

@media (max-width:820px) {
  .planet-menu.has-preview .menu-preview,
  .planet-menu.has-preview .menu-preview > * { transition:none!important; animation:none!important; }
}

/* Both person navigation arrows use blue on mobile. */
@media (max-width:820px) {
  .team-view .member-pagination [data-member-step],
  .team-view .member-pagination [data-member-step] span {color:var(--circle-blue);}
  .team-view .member-pagination [data-member-step] .letter-wipe {--letter-color:var(--circle-blue)!important;}
}

/* Projects and news share one proportional circle layout on desktop.
   Explicit equal dimensions prevent old short-screen/mobile rules making ellipses. */
body .document-carousel-view {
  --document-diameter:min(88vw, 78dvh, 980px);
}
body .document-carousel-view .document-circle-stage { inset:0!important; }
body .document-carousel-view .document-circle {
  top:54%!important; left:54%!important;
  width:var(--document-diameter)!important; height:var(--document-diameter)!important;
  min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important;
  aspect-ratio:1; border-radius:50%!important; padding:0;
  container-type:inline-size;
}
body .document-carousel-view .document-circle[data-circle-offset] {
  transform:translate(calc(-50% + var(--circle-shift)), -50%) scale(.18);
}
body .document-carousel-view .document-circle[data-circle-offset='0'] {
  transform:translate(-50%, -50%) scale(1)!important; opacity:1!important;
}
body .document-carousel-view .document-circle[data-circle-offset='-1'] { --circle-shift:60%; transform:translate(10%, -50%) scale(.63); opacity:.42; }
body .document-carousel-view .document-circle[data-circle-offset='1'] { --circle-shift:-72%; transform:translate(-122%, -50%) scale(.78); opacity:.7; }
body .document-carousel-view .document-circle[data-circle-offset='-2'] { --circle-shift:105%; transform:translate(55%, -50%) scale(.42); opacity:.14; }
body .document-carousel-view .document-circle[data-circle-offset='2'] { --circle-shift:-116%; transform:translate(-166%, -50%) scale(.55); opacity:.28; }
body .document-carousel-view .document-circle-copy,
body .document-carousel-view .document-circle-copy.document-circle-copy-full {
  flex:none; width:70%; max-height:70%; min-width:0; padding:0 1cqw 2cqw;
  box-sizing:border-box; overflow-x:hidden; overflow-y:auto;
}
body .document-carousel-view .document-circle-copy h2 {
  font-size:7.35cqw; line-height:1; margin:0 0 2.65cqw;
  overflow-wrap:anywhere; text-wrap:balance;
}
body .document-carousel-view .document-circle-copy p { font-size:2.85cqw; line-height:1.48; margin:0 0 1.8cqw; }
body .document-carousel-view .document-circle-open { font-size:2.2cqw; margin-top:1cqw; padding-bottom:.5cqw; }
body .document-carousel-view .document-carousel-header { top:3dvh; left:2.5vw; }
body .document-carousel-view .document-carousel-header h1 { font-size:min(5.8vw, 8dvh, 62px); }
/* Shared control styles otherwise impose fixed pixel sizes on these sections. */
:root body .document-carousel-view :is(.document-circle-stage, .document-carousel-controls) :is(button,a).portal-round-control {
  width:calc(var(--document-diameter) * .065)!important; height:calc(var(--document-diameter) * .065)!important;
  min-width:0!important; min-height:0!important; padding:calc(var(--document-diameter) * .012)!important;
}
:root body .document-carousel-view .document-circle-stage button.portal-round-control.portal-scroll-cue {
  width:calc(var(--document-diameter) * .145)!important; min-width:0!important;
  gap:calc(var(--document-diameter) * .01)!important;
  font-size:calc(var(--document-diameter) * .021)!important;
  white-space:nowrap!important; flex-wrap:nowrap!important;
}
:root body .document-carousel-view .document-circle-stage button.portal-scroll-cue .portal-reading-label { font-size:calc(var(--document-diameter) * .021)!important; white-space:nowrap!important; flex:none!important; overflow-wrap:normal!important; word-break:normal!important; }
:root body .document-carousel-view :is(.document-circle-stage, .document-carousel-controls) .portal-round-control svg { width:calc(var(--document-diameter) * .034)!important; height:calc(var(--document-diameter) * .034)!important; }
@media (max-width:820px) {
  body .document-carousel-view .document-circle { left:50%!important; }
  :root body .document-carousel-view .document-carousel-controls button.portal-round-control {
    width:48px!important; height:48px!important;
    min-width:48px!important; min-height:48px!important; padding:10px!important;
  }
  :root body .document-carousel-view .document-carousel-controls button.portal-round-control svg {
    width:26px!important; height:26px!important;
  }
}
@media (max-width:700px) {
  :root body .document-carousel-view .document-carousel-controls button.portal-round-control {
    width:44px!important; height:44px!important;
    min-width:44px!important; min-height:44px!important; padding:9px!important;
  }
}

/* Each mobile project/news category fills the viewport with its own colour. */
@media (max-width:820px) {
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-stage {
    touch-action:pan-y pinch-zoom;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle {
    top:0!important; left:0!important; width:100%!important; height:100dvh!important;
    min-height:100dvh!important; box-sizing:border-box; aspect-ratio:auto;
    border-radius:0!important; padding:31dvh 7vw 90px;
    align-items:flex-start; animation:none!important;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle[data-circle-offset] {
    transform:translateX(100%)!important; opacity:0!important; visibility:hidden;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle[data-circle-offset="0"] {
    transform:none!important; opacity:1!important; visibility:visible;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-copy {
    width:100%; max-height:100%; padding:0 0 20px; box-sizing:border-box;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-copy h2 {
    font-size:clamp(32px,9vw,54px); line-height:1.08; margin-bottom:24px;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-copy p {
    font-size:clamp(17px,4.3vw,21px); line-height:1.55; margin-bottom:18px;
  }
  body .document-carousel-view:is([data-view="projekti-optimizma"], [data-view="do-news"]) .document-circle-open {
    font-size:16px; margin-top:12px;
  }
}

/* Keep the longer English shop heading inside the existing orb. */
html[lang="en"] .shop-coming-orb h2 {
  width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal;
  font-size:clamp(32px, 6vmin, 64px);
  line-height:1.05;
  text-wrap:balance;
}

/* Give the English optimism message room to form readable whole-word lines. */
html[lang="en"] body .document-carousel-view[data-view="do-news"] [data-circle-slide="1"] .document-circle-copy h2 {
  font-size:5.5cqw;
  line-height:1.12;
  margin-bottom:3cqw;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
@media(max-width:820px) {
  html[lang="en"] body .document-carousel-view[data-view="do-news"] [data-circle-slide="1"] .document-circle-copy h2 {
    font-size:clamp(28px, 7.4vw, 40px);
    line-height:1.15;
    margin-bottom:24px;
  }
}

/* Expanded English headings must wrap as phrases, without clipping at the old forced line split. */
html[lang="en"] body .document-carousel-view .document-detail-copy h2 {
  width:100%;
  max-width:100%;
  font-size:clamp(28px, 3.6vw, 58px);
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
html[lang="en"] body .document-carousel-view .document-detail-copy h2 > span {
  display:inline;
  white-space:normal;
}
html[lang="en"] body .document-carousel-view[data-view="do-news"] [data-circle-slide="1"] .document-circle-copy h2 {
  width:100%;
  max-width:100%;
  margin-inline:auto;
}
