/* Shared typography for portfolio subpages. Client font specimens keep their own faces. */
body:not(.home-page) main h1,body:not(.home-page) main h2,body:not(.home-page) main .showcase-title{font-family:Inter,sans-serif;font-weight:900;letter-spacing:-.025em;line-height:1.08;text-wrap:wrap;overflow-wrap:break-word}
body:not(.home-page) main h3{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.025em}
body:not(.home-page) .scroll-statement{font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.025em}
body:not(.home-page) .service-options strong,body:not(.home-page) .portrait-caption strong,body:not(.home-page) .extras-accordion strong,body:not(.home-page) .project-start legend{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.025em}
body:not(.home-page) .price,body:not(.home-page) .care-price{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.025em}
body:not(.home-page) .ablauf{--f-display:Inter,sans-serif}
body:not(.home-page) .outline-type{font-family:Inter,sans-serif;font-weight:900;letter-spacing:0;-webkit-text-stroke:0;color:var(--bg);text-shadow:1px 0 #a297b3,-1px 0 #a297b3,0 1px #a297b3,0 -1px #a297b3,.7px .7px #a297b3,-.7px -.7px #a297b3,.7px -.7px #a297b3,-.7px .7px #a297b3}
body:not(.home-page) .legal-copy h2{font-weight:700;line-height:1.3}
@media(forced-colors:active){body:not(.home-page) .outline-type{color:CanvasText;text-shadow:none}}

body:not(.home-page) main #maler .showcase-title{font-weight:700}

/* Paint the light on the actual glyphs so line wrapping stays identical. */
body:not(.home-page) main #diana .showcase-title{position:relative;font-weight:700;color:transparent;-webkit-text-fill-color:transparent;background-image:radial-gradient(ellipse at center,#fff8ed 0%,#dfcba9 12%,#b89e7766 26%,transparent 44%),linear-gradient(#8e8994,#8e8994);background-size:250% 160%,100% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:diana-stage-light 11s ease-in-out infinite;animation-play-state:paused}
body:not(.home-page) main #diana .showcase-title.spot-visible{animation-play-state:running}
body:not(.home-page) main #diana .showcase-title.spot-follow{animation:none;background-size:100% 100%,100% 100%;background-position:center;background-image:radial-gradient(ellipse 260px 150px at var(--spot-x,50%) var(--spot-y,50%),#fff8ed 0%,#dfcba9 23%,#b89e7766 55%,transparent 100%),linear-gradient(#8e8994,#8e8994)}
@keyframes diana-stage-light{0%,10%,100%{background-position:100% 50%,0 0}45%,60%{background-position:0% 50%,0 0}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){body:not(.home-page) main #diana .showcase-title{animation:none;background:none;color:var(--ink);-webkit-text-fill-color:currentColor}}

/* Client colors move across the actual project name, including wrapped lines. */
body:not(.home-page) main h1.project-color-title{color:transparent;-webkit-text-fill-color:transparent;background-image:var(--project-sweep),linear-gradient(var(--ink),var(--ink));background-size:300% 100%,100% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:project-name-sweep 8s ease-in-out infinite}
.project-color-title[data-project-colors="maler"]{--project-sweep:linear-gradient(110deg,transparent 37%,#38339c22 39%,#38339c 44%,#ffed00 49%,#df2332 54%,#df233200 58%)}
.project-color-title[data-project-colors="diana"]{--project-sweep:linear-gradient(110deg,transparent 37%,#8c7e6a22 39%,#8c7e6a 44%,#d8c7ae 49%,#f5f0e8 54%,#f5f0e800 58%)}
@keyframes project-name-sweep{0%,12%,96%,100%{background-position:100% 0,0 0}48%,61%{background-position:0% 0,0 0}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){body:not(.home-page) main h1.project-color-title{animation:none;background:none;color:var(--ink);-webkit-text-fill-color:currentColor}}

/* Trial: match the homepage hero's uppercase display treatment on every page title. */
body:not(.home-page) main h1{font-family:Inter,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:0;word-spacing:.06em;line-height:1.06;text-wrap:wrap;overflow-wrap:break-word}

body:not(.home-page) main h1.about-title{font-size:clamp(24px,7vw,100px);text-wrap:initial}
.about-title>span,.about-title>em{white-space:nowrap}

body:not(.home-page) main .contact-title h1{font-size:clamp(32px,7vw,100px);line-height:1.08}

.contact-title-line{white-space:nowrap}

/* Continuous sizing and natural line breaks while resizing the viewport. */
body:not(.home-page) main .page-intro h1{font-size:clamp(30px,7vw,100px);text-wrap:wrap}

/* Personal contact introduction, with the selected original portrait. */
.contact-guide-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,80px);margin-bottom:48px}.contact-guide-intro h2{margin-top:22px}.contact-portrait{margin:0;width:100%;max-width:420px;justify-self:end}.contact-portrait img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;border-radius:12px}.contact-portrait figcaption{margin-top:16px;font-size:15px;font-weight:600}.contact-portrait figcaption span{display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--muted)}
@media(max-width:760px){.contact-guide-intro{grid-template-columns:1fr;gap:28px;margin-bottom:32px}.contact-portrait{justify-self:start;max-width:380px}.contact-portrait img{aspect-ratio:4/3}}

/* --- Kontaktformular: Einwilligung, Honigtopf, Rueckmeldung ---
   Steht bewusst hier: subpage-type.css laedt zuletzt. Die Regeln in
   local-pages.css ziehen jedes input auf display:block und width:100%,
   was fuer eine Ankreuzbox falsch ist. */
.inquiry-section .hp { position: absolute !important; left: -9999px !important; top: auto !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important; }
.inquiry-section .hp input { position: absolute !important; left: -9999px !important;
  width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; opacity: 0 !important; }

.inquiry-section .form-consent { margin: 1.1rem 0 1.4rem; font-size: .92rem; line-height: 1.55; }
.inquiry-section .form-consent label { display: grid; grid-template-columns: auto 1fr;
  gap: .7rem; align-items: start; cursor: pointer; margin: 0; }
.inquiry-section .form-consent > label > span { display: block; }
.inquiry-section .form-consent input[type="checkbox"] {
  display: inline-block !important; width: 20px !important; height: 20px !important;
  min-width: 20px; margin: .15rem 0 0 !important; padding: 0 !important;
  flex: none; accent-color: #b9a0ff; }

.inquiry-section #inquiry-status:empty { display: none; }
.inquiry-section #inquiry-status { margin-top: 1rem; padding: .9rem 1.1rem; border-radius: 6px; font-size: .95rem; }
.inquiry-section #inquiry-status[data-art="laeuft"] { background: rgba(255,255,255,.07); }
.inquiry-section #inquiry-status[data-art="gut"]    { background: rgba(120,220,160,.13); border: 1px solid rgba(120,220,160,.45); }
.inquiry-section #inquiry-status[data-art="fehler"] { background: rgba(255,130,130,.13); border: 1px solid rgba(255,130,130,.5); }
