
    :root {
      --ink: #10252b;
      --deep: #082b39;
      --deep-2: #0d3d4e;
      --sea: #1d6c87;
      --stone: #f4f0e7;
      --stone-2: #e5ded1;
      --white: #fffdf9;
      --terracotta: #a95030;
      --line: rgba(16, 37, 43, .18);
      --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
      --sans: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
      --shadow: 0 28px 70px rgba(4, 25, 33, .16);
      --wrap: min(1180px, calc(100% - 48px));
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--stone); }
    body {
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 84% 8%, rgba(29, 108, 135, .08), transparent 27rem),
        var(--stone);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.65;
      overflow-wrap: break-word;
    }
    img { display: block; width: 100%; }
    a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { font: inherit; }
    ::selection { color: var(--white); background: var(--terracotta); }

    .skip {
      position: fixed;
      left: 16px;
      top: -80px;
      z-index: 1000;
      padding: 12px 18px;
      color: var(--white);
      background: var(--deep);
      border-radius: 999px;
      transition: top .2s ease;
    }
    .skip:focus { top: 16px; }

    .hero {
      position: relative;
      min-height: 100svh;
      display: grid;
      align-items: end;
      color: var(--white);
      isolation: isolate;
      overflow: hidden;
      background: var(--deep);
    }
    .hero-media { position: absolute; inset: 0; z-index: -2; }
    .hero-media img {
      height: 100%;
      object-fit: cover;
      object-position: 50% 52%;
      animation: heroIn 1.4s cubic-bezier(.2,.7,.2,1) both;
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        linear-gradient(90deg, rgba(3, 23, 31, .76) 0%, rgba(3, 23, 31, .25) 56%, rgba(3, 23, 31, .08) 100%),
        linear-gradient(0deg, rgba(3, 23, 31, .78) 0%, transparent 58%);
    }
    .hero-inner {
      width: var(--wrap);
      margin: 0 auto;
      padding: 150px 0 64px;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 18px;
      font-size: .875rem;
      font-weight: 700;
      letter-spacing: .2em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 42px; height: 1px; background: currentColor; }
    .hero h1 {
      max-width: 980px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(4.6rem, 12vw, 10.8rem);
      font-weight: 400;
      letter-spacing: -.055em;
      line-height: 1.05;
      text-wrap: balance;
    }
    .hero-bottom {
      margin-top: 36px;
      display: grid;
      grid-template-columns: minmax(250px, 520px) auto;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
    }
    .hero-lede {
      margin: 0;
      max-width: 530px;
      font-family: var(--serif);
      font-size: clamp(1.35rem, 2.3vw, 2.15rem);
      line-height: 1.22;
      text-wrap: balance;
    }
    .hero-meta {
      display: grid;
      grid-template-columns: repeat(2, auto);
      gap: 22px;
      padding: 16px 0 4px;
      border-top: 1px solid rgba(255,255,255,.55);
      font-size: .875rem;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .scroll-cue {
      position: absolute;
      right: 24px;
      bottom: 30px;
      display: flex;
      align-items: center;
      gap: 10px;
      writing-mode: vertical-rl;
      font-size: .875rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      opacity: .7;
    }
    .scroll-cue::after { content: ""; width: 1px; height: 58px; background: currentColor; }

    main section { scroll-margin-top: 86px; }
    .section { padding: clamp(86px, 11vw, 150px) 0; }
    .wrap { width: var(--wrap); margin: auto; }
    .section-kicker {
      margin: 0 0 24px;
      color: var(--terracotta);
      font-size: .875rem;
      font-weight: 750;
      letter-spacing: .19em;
      text-transform: uppercase;
    }
    .display {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3rem, 7vw, 7.1rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -.045em;
      text-wrap: balance;
    }
    .intro-grid {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: clamp(50px, 10vw, 145px);
      align-items: start;
    }
    .intro-aside {
      padding-top: 12px;
      position: sticky;
      top: 120px;
    }
    .intro-aside p {
      margin: 0;
      font-size: .875rem;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .intro-aside .coordinates {
      display: block;
      margin-top: 24px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
      color: var(--sea);
      font-family: var(--serif);
      font-size: 1.15rem;
      letter-spacing: .04em;
    }
    .intro-copy .display { max-width: 920px; }
    .intro-copy > p {
      max-width: 650px;
      margin: 42px 0 0 auto;
      font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    }
    .facts {
      margin-top: 72px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .fact { padding: 28px 24px 30px 0; }
    .fact + .fact { padding-left: 24px; border-left: 1px solid var(--line); }
    .fact strong {
      display: block;
      margin-bottom: 5px;
      color: var(--deep);
      font-family: var(--serif);
      font-size: clamp(2rem, 4.2vw, 4.1rem);
      font-weight: 400;
      line-height: 1;
    }
    .fact span { font-size: .875rem; letter-spacing: .09em; text-transform: uppercase; }

    .stone-story {
      color: var(--white);
      background: var(--deep);
      overflow: hidden;
    }
    .story-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
      min-height: 820px;
    }
    .story-image { position: relative; min-height: 620px; }
    .story-image img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
    .story-image::after {
      content: "01";
      position: absolute;
      top: 30px;
      left: 30px;
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      color: var(--deep);
      background: var(--stone);
      border-radius: 50%;
      font-size: .875rem;
      font-weight: 700;
      letter-spacing: .1em;
    }
    .story-content {
      align-self: center;
      padding: clamp(64px, 8vw, 130px);
    }
    .story-content .section-kicker { color: #90bdc8; }
    .story-content h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.1rem, 6.4vw, 6.7rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -.04em;
    }
    .story-content .lead {
      margin: 34px 0 0;
      font-family: var(--serif);
      font-size: clamp(1.35rem, 2.2vw, 2rem);
      line-height: 1.25;
    }
    .story-content .body-copy {
      max-width: 530px;
      margin: 28px 0 0;
      color: rgba(255,255,255,.72);
    }
    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-top: 34px;
      padding-bottom: 5px;
      border-bottom: 1px solid currentColor;
      text-decoration: none;
      font-size: .875rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .towers { background: var(--white); }
    .towers-grid {
      display: grid;
      grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
      gap: clamp(48px, 9vw, 130px);
      align-items: center;
    }
    .towers-copy h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.5rem, 6vw, 6.6rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -.045em;
    }
    .towers-copy .quote {
      margin: 38px 0 0;
      color: var(--sea);
      font-family: var(--serif);
      font-size: clamp(1.55rem, 2.6vw, 2.5rem);
      line-height: 1.22;
    }
    .towers-copy .body-copy { margin: 28px 0 0; max-width: 580px; }
    .image-frame {
      position: relative;
      padding: 22px 0 0 22px;
    }
    .image-frame::before {
      content: "";
      position: absolute;
      inset: 0 22px 22px 0;
      border: 1px solid var(--terracotta);
    }
    .image-frame img {
      position: relative;
      z-index: 1;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: 51% 50%;
      box-shadow: var(--shadow);
    }
    .image-caption {
      margin: 14px 0 0 22px;
      font-size: .875rem;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .rhythms { background: var(--stone); }
    .rhythms-head {
      display: grid;
      grid-template-columns: 1fr .65fr;
      gap: 40px;
      align-items: end;
      margin-bottom: 68px;
    }
    .rhythms-head p {
      max-width: 480px;
      margin: 0 0 8px auto;
      font-size: 1.04rem;
    }
    .rhythm-list { border-top: 1px solid var(--line); }
    .rhythm {
      display: grid;
      grid-template-columns: 80px .85fr 1.15fr;
      gap: 26px;
      align-items: start;
      padding: 34px 0;
      border-bottom: 1px solid var(--line);
      transition: color .25s ease, padding .25s ease;
    }
    .rhythm:hover { color: var(--sea); padding-left: 12px; }
    .rhythm-no { padding-top: 9px; color: var(--terracotta); font-size: .875rem; font-weight: 750; letter-spacing: .12em; }
    .rhythm h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(2rem, 4vw, 4.1rem);
      font-weight: 400;
      line-height: 1;
    }
    .rhythm p { max-width: 560px; margin: 6px 0 0; color: var(--ink); }

    .slow-days {
      color: var(--white);
      background:
        linear-gradient(115deg, rgba(4, 33, 44, .94), rgba(4, 33, 44, .58)),
        url("pucisca-harbour.webp") center 58% / cover fixed;
    }
    .slow-days .section-kicker { color: #a9d2da; }
    .slow-days-head {
      display: grid;
      grid-template-columns: 1fr .7fr;
      gap: 50px;
      align-items: end;
    }
    .slow-days-head p { max-width: 470px; margin: 0 0 10px auto; color: rgba(255,255,255,.75); }
    .days {
      margin-top: 72px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid rgba(255,255,255,.3);
      background: rgba(5,31,40,.45);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .day { min-height: 330px; padding: 34px; }
    .day + .day { border-left: 1px solid rgba(255,255,255,.3); }
    .day small { font-size: .875rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
    .day h3 {
      margin: 60px 0 18px;
      font-family: var(--serif);
      font-size: clamp(2.1rem, 3.8vw, 3.7rem);
      font-weight: 400;
      line-height: 1;
    }
    .day p { margin: 0; color: rgba(255,255,255,.76); }

    .plan { background: var(--white); }
    .plan-head {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 50px;
      align-items: end;
    }
    .plan-head p { max-width: 480px; margin: 0 0 8px auto; }
    .plan-grid {
      margin-top: 70px;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      border: 1px solid var(--line);
    }
    .plan-card { min-height: 265px; padding: clamp(28px, 4vw, 54px); }
    .plan-card:nth-child(even) { border-left: 1px solid var(--line); }
    .plan-card:nth-child(n+3) { border-top: 1px solid var(--line); }
    .plan-card small { color: var(--terracotta); font-size: .875rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
    .plan-card h3 {
      margin: 22px 0 14px;
      font-family: var(--serif);
      font-size: clamp(2rem, 3.8vw, 3.5rem);
      font-weight: 400;
      line-height: 1;
    }
    .plan-card p { max-width: 500px; margin: 0; }
    .plan-card a { font-weight: 700; }

    .closing {
      position: relative;
      color: var(--white);
      background: var(--deep);
      text-align: center;
      overflow: hidden;
    }
    .closing::before {
      content: "PUČIŠĆA";
      position: absolute;
      left: 50%;
      top: 49%;
      transform: translate(-50%, -50%);
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.1);
      font-family: var(--serif);
      font-size: clamp(8rem, 25vw, 26rem);
      line-height: 1;
      letter-spacing: -.06em;
      white-space: nowrap;
      pointer-events: none;
    }
    .closing .wrap { position: relative; z-index: 1; }
    .closing h2 {
      max-width: 900px;
      margin: 0 auto;
      font-family: var(--serif);
      font-size: clamp(3.2rem, 7vw, 7rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -.04em;
      text-wrap: balance;
    }
    .closing p { max-width: 570px; margin: 30px auto 0; color: rgba(255,255,255,.72); }
    .cta-row { margin-top: 42px; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
    .button {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 0 24px;
      border: 1px solid rgba(255,255,255,.66);
      border-radius: 999px;
      color: var(--white);
      background: transparent;
      text-decoration: none;
      font-size: .875rem;
      font-weight: 750;
      letter-spacing: .13em;
      text-transform: uppercase;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }
    .button:hover { color: var(--deep); background: var(--white); transform: translateY(-2px); }
    .button.primary { color: var(--deep); background: var(--white); }
    .button.primary:hover { color: var(--white); background: var(--terracotta); border-color: var(--terracotta); }

    .site-footer {
      padding: 52px 0 30px;
      color: rgba(255,255,255,.7);
      background: #051c25;
      font-size: .875rem;
    }
    .footer-top {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 30px;
      align-items: start;
      padding-bottom: 34px;
      border-bottom: 1px solid rgba(255,255,255,.16);
    }
    .footer-brand {
      display: flex;
      align-items: center;
      gap: 14px;
      color: var(--white);
      font-family: var(--serif);
      font-size: 1.6rem;
    }
    .footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px 24px; }
    .footer-links a { text-decoration: none; }
    .footer-links a:hover { color: var(--white); }
    .footer-bottom {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 30px;
      padding-top: 26px;
    }
    .footer-bottom p { margin: 0; max-width: 780px; }
    .credits { margin-top: 20px; }
    .credits summary { cursor: pointer; color: rgba(255,255,255,.8); }
    .credits p { margin: 12px 0 0; font-size: .7rem; line-height: 1.7; }
    .credits a { color: rgba(255,255,255,.9); }

    @keyframes heroIn { from { opacity: .35; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }

    @media (max-width: 980px) {
      :root { --wrap: min(100% - 36px, 760px); }
      .desktop-nav { display: none; }
      .header-inner { grid-template-columns: 1fr auto; min-height: 72px; }
      .header-actions { grid-column: 2; }
      .menu-button { display: block; }
      .hero-bottom, .intro-grid, .rhythms-head, .slow-days-head, .plan-head { grid-template-columns: 1fr; }
      .hero-meta { justify-self: start; }
      .intro-aside { position: static; }
      .intro-aside p { display: flex; justify-content: space-between; gap: 20px; }
      .intro-aside .coordinates { margin-top: 0; padding-top: 0; border-top: 0; }
      .intro-copy > p { margin-left: 0; }
      .story-grid, .towers-grid { grid-template-columns: 1fr; }
      .story-image { min-height: 72svh; }
      .story-content { padding: 76px 30px 90px; }
      .towers-copy { order: 2; }
      .image-frame { max-width: 680px; margin: auto; }
      .rhythms-head p, .slow-days-head p, .plan-head p { margin-left: 0; }
      .days { grid-template-columns: 1fr; }
      .day { min-height: auto; }
      .day + .day { border-left: 0; border-top: 1px solid rgba(255,255,255,.3); }
      .day h3 { margin-top: 32px; }
      .slow-days { background-attachment: scroll; }
    }

    @media (max-width: 680px) {
      :root { --wrap: calc(100% - 28px); }
      body { font-size: 16px; }
      .site-header { color: var(--white); }
      .header-inner { gap: 10px; }
      .brand { font-size: .875rem; letter-spacing: .13em; }
      .brand-mark { width: 30px; height: 30px; }
      .language-switch button { min-width: 34px; padding: 0 7px; }
      .hero { min-height: 92svh; }
      .hero-media img { object-position: 42% 50%; }
      .hero::before {
        background:
          linear-gradient(90deg, rgba(3,23,31,.6), rgba(3,23,31,.08)),
          linear-gradient(0deg, rgba(3,23,31,.9) 0%, rgba(3,23,31,.2) 68%);
      }
      .hero-inner { padding: 128px 0 34px; }
      .hero h1 { font-size: clamp(4rem, 22vw, 6.6rem); line-height: 1.05; }
      .hero-bottom { margin-top: 26px; gap: 20px; }
      .hero-lede { font-size: 1.32rem; }
      .hero-meta { width: 100%; grid-template-columns: 1fr; gap: 6px; padding-top: 12px; }
      .scroll-cue { display: none; }
      .section { padding: 82px 0; }
      .intro-aside p { display: block; }
      .intro-aside .coordinates { margin-top: 14px; }
      .intro-copy .display { margin-top: 42px; }
      .intro-copy > p { margin-top: 28px; }
      .facts { grid-template-columns: 1fr; margin-top: 50px; }
      .fact { padding: 23px 0; }
      .fact + .fact { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
      .story-image { min-height: 58svh; }
      .story-image img { object-position: 46% center; }
      .story-content { padding: 64px 22px 76px; }
      .image-frame { padding: 12px 0 0 12px; }
      .image-frame::before { inset: 0 12px 12px 0; }
      .image-frame img { aspect-ratio: 1 / 1.18; object-position: 50% 52%; }
      .rhythms-head { margin-bottom: 42px; }
      .rhythm { grid-template-columns: 46px 1fr; gap: 12px; }
      .rhythm p { grid-column: 2; }
      .days { margin-top: 46px; }
      .day { padding: 28px 24px; }
      .plan-grid { grid-template-columns: 1fr; margin-top: 46px; }
      .plan-card:nth-child(even) { border-left: 0; }
      .plan-card + .plan-card { border-top: 1px solid var(--line); }
      .footer-top, .footer-bottom { grid-template-columns: 1fr; }
      .footer-links { justify-content: flex-start; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      [data-reveal] { opacity: 1; transform: none; }
    }

    @media (prefers-color-scheme: dark) {
      /* The destination identity deliberately keeps its limestone editorial palette. */
    }
  

/* Shared language navigation and responsive refinements. */
:root { color-scheme: light; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #bd693e; outline-offset: 5px; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; color: var(--white); background: rgba(5,28,37,.88); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(16px); }
.site-header.scrolled { color: var(--ink); background: rgba(244,240,231,.97); border-color: var(--line); }
.header-inner { width: var(--wrap); margin: auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding: 12px 0; min-height: 90px; }
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; font-size: .875rem; letter-spacing: .14em; font-weight: 500; line-height: 1.3; }
.brand small { display: block; font-size: .75rem; letter-spacing: .26em; margin-top: 4px; }
.brand-mark { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid currentColor; transform: rotate(45deg); }
.brand-mark span { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; transform: rotate(-45deg); letter-spacing: 0; }
.header-controls { display: grid; justify-items: end; gap: 4px; margin-left: auto; min-width: 0; }
.language-bar { display: flex; gap: 2px; align-items: center; }
.language-bar a { display: grid; place-items: center; min-width: 36px; min-height: 36px; padding: 4px 6px; font-size: .875rem; text-decoration: none; letter-spacing: .06em; border-bottom: 1px solid transparent; }
.language-bar a:hover, .language-bar a[aria-current="page"] { border-color: currentColor; }
.language-bar a[aria-current="page"] { font-weight: 700; }
.desktop-nav { display: flex; gap: 24px; align-items: center; }
.desktop-nav a { font-size: .875rem; text-decoration: none; padding: 3px 0; }
.desktop-nav a:hover { text-decoration: underline; }
.compact-language, .menu-disclosure { display: none; position: relative; }
summary { cursor: pointer; }
.header-controls summary { list-style: none; min-height: 44px; display: flex; justify-content: center; align-items: center; gap: 7px; border: 1px solid currentColor; border-radius: 6px; padding: 6px 10px; font-size: .875rem; }
.header-controls summary::-webkit-details-marker { display: none; }
.header-controls summary svg { width: 17px; height: 17px; flex: none; }
.language-panel, .menu-panel { position: absolute; right: 0; top: calc(100% + 12px); background: var(--white); color: var(--ink); box-shadow: var(--shadow); border: 1px solid var(--stone-2); border-radius: 8px; padding: 12px; max-width: calc(100vw - 28px); max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; }
.language-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 320px; gap: 4px; }
.language-panel a { min-height: 62px; padding: 8px 5px; display: grid; justify-items: center; align-content: center; font-size: .875rem; text-decoration: none; border-radius: 4px; line-height: 1.35; }
.language-panel a span { font-size: .75rem; margin-top: 2px; max-width: 100%; overflow-wrap: anywhere; }
.language-panel a:hover, .language-panel a[aria-current="page"] { color: var(--white); background: var(--deep); }
.menu-panel { width: 270px; display: grid; }
.menu-panel a { padding: 12px 14px; text-decoration: none; font-size: 1rem; }
.menu-panel a:hover { background: var(--stone); }
.hero-inner { padding-top: calc(var(--header-height, 110px) + 72px); }
.hero h1 { letter-spacing: -.045em; }
main section { scroll-margin-top: calc(var(--header-height, 104px) + 24px); }
.display, .story-content h2, .towers-copy h2, .closing h2 { hyphens: auto; overflow-wrap: anywhere; line-height: 1.08; }
.intro-grid, .story-grid, .towers-grid, .rhythms-head, .slow-days-head, .plan-head, .questions-grid { min-width: 0; }
.intro-grid > *, .story-grid > *, .towers-grid > *, .rhythms-head > *, .slow-days-head > *, .plan-head > * { min-width: 0; }
.story-content { padding: clamp(40px,5vw,80px); }
.story-content h2 { font-size: clamp(2.8rem,5vw,5.4rem); }
.image-frame { margin: 0; min-width: 0; }
.rhythms-head .section-kicker, .slow-days-head .section-kicker, .plan-head .section-kicker { margin: 0 0 24px; font-size: .875rem; }
.rhythm:hover { padding-left: 0; }
.button { padding: 14px 24px; line-height: 1.5; max-width: 100%; }
.eyebrow, .section-kicker, .day small, .plan-card small { letter-spacing: .12em; }
.questions { background: var(--stone); }
.questions-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; }
.questions .display { font-size: clamp(2.8rem,5vw,5rem); }
.question-list { border-top: 1px solid var(--line); }
.question-list details { padding: 22px 0; border-bottom: 1px solid var(--line); }
.question-list summary { font-family: var(--serif); font-size: 1.45rem; line-height: 1.3; padding-right: 12px; }
.question-list p { margin: 16px 0 0; }
.footer-bottom { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) auto; }
.contact-label { text-align: right; margin: 0 0 12px; font-size: .875rem; color: var(--white); }
.credits ul { padding-left: 20px; line-height: 1.8; }
.credits p { font-size: .875rem; }
.footer-links a, .credits a { overflow-wrap: anywhere; }
.site-footer { font-size: .875rem; }
@media (max-width: 980px) {
  .desktop-nav, .language-bar { display: none; }
  .compact-language, .menu-disclosure { display: block; }
  .header-inner { min-height: 74px; padding: 10px 0; }
  .header-controls { display: flex; align-items: center; gap: 8px; }
  .menu-panel { right: -80px; }
  .hero-inner { padding-top: calc(var(--header-height, 90px) + 56px); }
  .story-content { padding: 64px 28px 76px; }
  .questions-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-top, .footer-bottom { grid-template-columns: 1fr; gap: 24px; }
  .footer-links { justify-content: flex-start; }
  .contact-label { text-align: left; }
  main section { scroll-margin-top: calc(var(--header-height, 80px) + 24px); }
}
@media (max-width: 680px) {
  .brand { font-size: .875rem; letter-spacing: .08em; gap: 10px; }
  .header-inner { gap: 8px; }
  .header-controls summary { padding: 7px 9px; }
  .hero { min-height: 92svh; }
  .hero h1 { font-size: clamp(3.5rem,20vw,6.6rem); line-height: 1.05; }
  .hero-inner { padding-top: calc(var(--header-height, 90px) + 70px); }
  .hero-meta { font-size: .75rem; letter-spacing: .06em; }
  .display { font-size: clamp(2.65rem,10vw,4.3rem); }
  .story-content h2, .towers-copy h2, .closing h2 { font-size: clamp(2.65rem,10vw,4.3rem); }
  .rhythm { grid-template-columns: 32px minmax(0,1fr); }
  .rhythm h3 { overflow-wrap: anywhere; }
  .days { grid-template-columns: minmax(0,1fr); }
  .day h3, .plan-card h3 { overflow-wrap: anywhere; }
  .intro-copy .display { margin-top: 0; }
}
@media (max-width: 360px) {
  .brand .brand-mark { display: none; }
  .brand small { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
