/* Royalblau-Leinen: quiet Viking-material character, spacious editorial hierarchy, responsive first. */
:root {
  --steinarr-blue: #15457E;
  --steinarr-deep: #082846;
  --steinarr-gold: #B99755;
  --steinarr-ivory: #F2E5CA;
  --steinarr-mist: #CFC2A8;
}

body { background: var(--steinarr-blue) url('../images/linen-texture.jpg') center / cover fixed; color: var(--steinarr-ivory); }
.wp-site-blocks { overflow-x: clip; }
.steinarr-header { background: rgba(7,35,61,.92); padding: 18px clamp(22px,5vw,88px); }
.steinarr-header-inner { max-width: 1440px; margin: auto; gap: clamp(16px,4vw,64px); }
.steinarr-header-knot { color: var(--steinarr-gold); font-size: 2.4rem; line-height: 1; }
.steinarr-knot-border { height: 32px; background: var(--steinarr-deep) url('../images/flechtborte-nahtlos.png') center / 100% 100% no-repeat; border-top: 1px solid rgba(185,151,85,.45); border-bottom: 1px solid rgba(185,151,85,.45); }
.steinarr-footer { text-align: center; padding: 70px 24px; background: var(--steinarr-deep); }
.steinarr-footer .wp-block-site-title { font-family: Georgia,serif; text-transform: uppercase; letter-spacing: .1em; font-size: 1.8rem; }
.steinarr-footer .wp-block-social-links { justify-content: center; margin: 22px auto; }
.steinarr-legal-nav { margin-top: 26px; justify-content: center; font-size: .72rem; }
.steinarr-eyebrow { color: var(--steinarr-gold); text-transform: uppercase; letter-spacing: .2em; font-weight: 700; font-size: .72rem; }
.steinarr-display { font-size: clamp(3.6rem,8vw,7rem); text-transform: uppercase; letter-spacing: .045em; line-height: .83; }

/* Imported home page: image and copy remain visually separate, including on phones. */
.steinarr-import-start { display: grid; grid-template-columns: minmax(0,3fr) minmax(300px,2fr); min-height: 620px; background: linear-gradient(108deg,rgba(8,40,70,.28),rgba(21,69,126,.08)); }
.steinarr-import-hero-media { grid-column: 2; grid-row: 1; min-height: 620px; overflow: hidden; }
.steinarr-import-start-copy { grid-column: 1; grid-row: 1; align-self: center; z-index: 1; padding: clamp(90px,14vw,190px) clamp(24px,9vw,150px) clamp(72px,10vw,130px); }
.steinarr-import-start-copy .steinarr-display { max-width: 10.5ch; margin: 1rem 0 2rem; }
.steinarr-import-start-copy > p:not(.steinarr-eyebrow) { max-width: 470px; color: var(--steinarr-ivory); font-family: Georgia,serif; font-size: 1.3rem; line-height: 1.55; }
.steinarr-demo-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.steinarr-import-hero-media .steinarr-demo-image { min-height: 620px; }
.wp-block-media-text__media .steinarr-demo-image { min-height: 420px; }

.steinarr-hero-copy { max-width: 700px; margin-left: clamp(0px,6vw,100px); padding: clamp(80px,16vw,210px) 0 clamp(70px,10vw,130px); }
.steinarr-hero-copy p:not(.steinarr-eyebrow) { font-family: Georgia,serif; font-size: 1.3rem; max-width: 470px; color: var(--steinarr-ivory); }
.steinarr-stance,.steinarr-page-title { padding: clamp(70px,9vw,130px) clamp(24px,10vw,170px); background: rgba(7,41,74,.78); }
.steinarr-stance h2,.steinarr-page-title h1 { text-transform: uppercase; font-size: clamp(3rem,6vw,6rem); text-align: center; }
.steinarr-stance p:not(.steinarr-eyebrow),.steinarr-page-title p:not(.steinarr-eyebrow) { max-width: 700px; margin-left: auto; margin-right: auto; font-family: Georgia,serif; color: var(--steinarr-mist); }
.steinarr-photo-strip { gap: 3px !important; background: var(--steinarr-deep); }
.steinarr-photo-strip .wp-block-image { flex-grow: 1; }
.steinarr-photo-strip img { width: 100%; height: 420px; object-fit: cover; }
.steinarr-team-row,.steinarr-service-row { gap: 0 !important; margin-block: 0 !important; background: rgba(6,37,68,.75); border-bottom: 1px solid rgba(185,151,85,.45); }
.steinarr-team-row .wp-block-image,.steinarr-service-row .wp-block-image { height: 100%; margin: 0; }
.steinarr-team-row .wp-block-image img,.steinarr-service-row .wp-block-image img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; }
.steinarr-team-copy,.steinarr-service-copy { padding: clamp(46px,8vw,130px) !important; }
.steinarr-team-copy h2,.steinarr-service-copy h2 { font-size: clamp(3rem,5vw,5.5rem); margin-top: 0; }
.steinarr-team-copy p,.steinarr-service-copy p { color: var(--steinarr-mist); font-family: Georgia,serif; font-size: 1.2rem; line-height: 1.65; }
.steinarr-note { padding: 42px; color: var(--steinarr-gold); font-size: .9rem; }
.steinarr-gmedia-wrap,.steinarr-contact { max-width: 940px; padding: 80px 28px 110px; }
.steinarr-gmedia-wrap { text-align: center; border: 1px solid rgba(185,151,85,.55); margin: 80px auto; }
.steinarr-form-slot { border: 1px dashed var(--steinarr-gold); padding: 36px; margin-top: 38px; color: var(--steinarr-gold); }
.gmedia_gallery,.gmGallery,.gmedia-container { --gmedia-accent: var(--steinarr-gold); }

@media (max-width: 781px) {
  .steinarr-header { padding: 14px 18px; }
  .steinarr-header-knot { display: none; }
  .steinarr-knot-border { height: 22px; background-size: auto 100%; }
  .steinarr-import-start { display: block; min-height: 0; }
  .steinarr-import-hero-media { min-height: 250px; height: 250px; }
  .steinarr-import-hero-media .steinarr-demo-image { min-height: 250px; }
  .steinarr-import-start-copy { padding: 3.5rem 1.25rem 3.75rem; }
  .steinarr-import-start-copy .steinarr-display { max-width: 100%; margin: 1rem 0 1.5rem; font-size: clamp(2.65rem,10.6vw,3.8rem); line-height: .92; letter-spacing: .015em; overflow-wrap: anywhere; }
  .steinarr-import-start-copy > p:not(.steinarr-eyebrow) { font-size: 1.1rem; line-height: 1.5; }
  .steinarr-import-start-copy .steinarr-eyebrow { margin: 0 0 1rem; font-size: .64rem; letter-spacing: .13em; line-height: 1.45; }
  .steinarr-team-row,.steinarr-service-row { display: flex; flex-direction: column; }
  .steinarr-team-row-reverse { flex-direction: column-reverse; }
  .steinarr-team-row .wp-block-image img,.steinarr-service-row .wp-block-image img,.wp-block-media-text__media .steinarr-demo-image { min-height: 280px; }
  .steinarr-photo-strip img { height: 280px; }
}
