/* =========================================================
   CURTIS
   Datei: content-curtis.css
========================================================= */


/* =========================================================
   1) BASIS
========================================================= */

          .curtis-wrap{
            max-width: 980px;
            margin: 0 auto;
            box-sizing: border-box;
          }


          .curtis-wrap p{
            margin: 0 0 1rem 0;

            font-size: var(--font-size-content);
            line-height: var(--line-height-text);
            color: rgba(255,255,255,0.92);
          }


          .curtis-wrap a{
            color: var(--color-link);
            text-decoration: none;
            position: relative;
            overflow-wrap: anywhere;
          }


          .curtis-wrap a::after{
            content: "";
            position: absolute;
            left: 50%;
            bottom: -2px;
            width: 0;
            height: 1.5px;
            background: currentColor;
            transition: width .25s ease, left .25s ease;
          }


          .curtis-wrap a:hover{
            color: var(--color-link-hover);
          }


          .curtis-wrap a:hover::after{
            width: 100%;
            left: 0;
          }


/* =========================================================
   2) SEKTIONEN
========================================================= */

          .curtis-section,
          .curtis-team{
            margin-top: calc(var(--menu-gap) * 1.1);
            padding: calc(var(--menu-gap) * 1.05);

            background: var(--color-box-bg);
            border: 1px solid var(--color-box-border);
            border-radius: var(--radius-sm);

            transition: background .2s ease, border-color .2s ease;
          }


          .curtis-section:hover,
          .curtis-team:hover{
            background: var(--color-box-bg-strong);
            border-color: var(--color-box-border-strong);
          }


          .curtis-subtitle{
            margin: 0 0 14px 0;

            font-family: var(--font-style-headline);
            font-size: calc(var(--font-size-headline-section) * 0.95);
            color: #fff;
          }


/* =========================================================
   3) CURTIS NOTE
========================================================= */

          .curtis-note{
            margin: calc(var(--menu-gap) * 0.8) 0 0 0;
            padding: 0.6rem 0.9rem;

            font-size: calc(var(--font-size-content) * 0.9);
            line-height: var(--line-height-text);

            color: rgba(255,255,255,0.75);

            border-left: 3px solid rgba(255,255,255,0.35);
          }


/* =========================================================
   4) FIGURE / BILD
========================================================= */

          .curtis-figure{
            margin: 0;
            width: min(100%, 250px);

            padding: 8px;

            border: 1px solid rgba(255,255,255,0.14);
            border-radius: var(--radius-sm);
            background: rgba(255,255,255,0.04);

            box-shadow: 0 10px 24px rgba(0,0,0,0.20);
          }


          .curtis-figure--right{
            float: right;
            margin: 0 0 1rem calc(var(--menu-gap) * 0.95);
          }


          .curtis-figure--small{
            width: min(100%, 250px);
          }


          .curtis-figure img{
            display: block;
            width: 100%;
            height: auto;

            border-radius: calc(var(--radius-sm) * 0.65);
          }


          .curtis-figure figcaption{
            margin-top: 0.65rem;

            font-size: calc(var(--font-size-content) * 0.88);
            line-height: var(--line-height-text);
            color: rgba(255,255,255,0.78);
          }


/* =========================================================
   5) TEAMBLOCK
========================================================= */

          .curtis-team{
            text-align: center;
          }


          .curtis-team .curtis-subtitle{
            text-align: center;
          }


          .curtis-teamtext{
            margin: 0.5rem 0 0 0;

            text-align: center;

            font-family: var(--font-style-ui);
            font-size: calc(var(--font-size-content) * 1.02);
            font-weight: 700;
            letter-spacing: 0.02em;
            color: rgba(255,255,255,0.95);
          }


/* =========================================================
   6) STECKBRIEF
========================================================= */

          .curtis-dl{
            margin: 0;
            display: grid;
            gap: 0.65rem;
          }


          .curtis-row{
            display: grid;
            grid-template-columns: 220px 1fr;
            gap: 14px;

            padding: 0.8rem 0.95rem;

            border: 1px solid rgba(255,255,255,0.12);
            border-radius: var(--radius-sm);
            background: rgba(255,255,255,0.04);
          }


          .curtis-row dt{
            margin: 0;

            font-family: var(--font-style-ui);
            font-weight: 800;
            color: rgba(255,255,255,0.92);
          }


          .curtis-row dd{
            margin: 0;
            color: rgba(255,255,255,0.90);
          }

    /* ALTER */
          .age-value{
            font-size: 0.85em;
            opacity: 0.8;
            white-space: nowrap;
          }          


/* =========================================================
   7) HINWEISBLOCK / SPECIAL BOX
========================================================= */

          .curtis-section-highlight{
            margin-top: calc(var(--menu-gap) * 1.6);

            background: rgba(255,255,255,0.045);
            border-color: rgba(180,190,255,0.22);
          }


          .curtis-section-highlight:hover{
            background: rgba(255,255,255,0.06);
            border-color: rgba(180,190,255,0.32);
          }


          .curtis-highlight-note{
            margin-bottom: 1rem !important;
            padding-left: 14px;

            border-left: 3px solid rgba(180,190,255,0.72);

            color: rgba(255,255,255,0.90);
            font-weight: 600;
          }


/* =========================================================
   8) QUOTE / INFOKASTEN
========================================================= */

          .curtis-quote{
            margin-top: calc(var(--menu-gap) * 0.9);
            padding: 1.2rem 1.3rem;

            background: var(--color-highlight-section-bg);
            border: 1px solid rgba(255,255,255,0.14);
            border-left: 4px solid rgba(180,190,255,0.70);
            border-radius: var(--radius-sm);

            font-style: italic;
            line-height: 1.65;
          }


          .curtis-quote p{
            margin-bottom: 0.9rem;
          }


          .curtis-quote p:last-child{
            margin-bottom: 0;
          }


          .curtis-quote strong{
            font-weight: 700;
            color: #fff;
          }


/* =========================================================
   9) GALERIE
========================================================= */

          .curtis-gallery{
            display: grid;
            gap: calc(var(--menu-gap) * 0.8);
          }


          .curtis-shot{
            overflow: hidden;
            border-radius: var(--radius-sm);
          }


          .curtis-shot img{
            display: block;
            width: 100%;
            height: 100%;

            object-fit: cover;
            border-radius: var(--radius-sm);
          }


/* =========================================================
   10) GALERIE – DESKTOP LAYOUT
========================================================= */

@media (min-width: 700px){

          .curtis-gallery{
            grid-template-columns: repeat(6, 1fr);
          }

          .curtis-shot--top{
            grid-column: span 3;
            aspect-ratio: 3 / 4;
          }

          .curtis-shot--big{
            grid-column: 2 / span 4;
            aspect-ratio: 16 / 9;
            max-width: 900px;
            justify-self: center;
          }

          .curtis-shot--bottom{
            grid-column: span 2;
            aspect-ratio: 4 / 3;
          }

}


/* =========================================================
   11) GALERIE – MOBILE BASIS
========================================================= */

@media (max-width: 699px){

          .curtis-gallery{
            grid-template-columns: 1fr;
          }

          .curtis-shot{
            aspect-ratio: auto;
          }

          .curtis-shot img{
            width: 100%;
            height: auto;

            object-fit: contain;
          }

}


/* =========================================================
   12) CURTIS – TRENNLINIE
========================================================= */

          .curtis-divider{
            margin: calc(var(--menu-gap) * 2.0) 0;

            border: none;
            height: 3px;

            background: linear-gradient(
              to right,
              transparent,
              rgba(255,255,255,0.5),
              transparent
            );
          }


/* =========================================================
   13) RESPONSIVE – 768px
========================================================= */

@media (max-width: 768px){

          .curtis-section,
          .curtis-team{
            padding: calc(var(--menu-gap) * 0.9);
          }

          .curtis-figure,
          .curtis-figure--right,
          .curtis-figure--small{
            float: none;
            width: min(100%, 240px);
            margin: 0 auto 1rem auto;
          }

          .curtis-row{
            grid-template-columns: 1fr;
            gap: 6px;
          }

}


/* =========================================================
   14) RESPONSIVE – 480px
========================================================= */

@media (max-width: 480px){

          .curtis-subtitle{
            font-size: calc(var(--font-size-headline-section) * 0.9);
          }

          .curtis-teamtext{
            font-size: var(--font-size-content);
          }

}