/* Integrated headers: all colors inherit the active runtime palette. */
.qf-header { --header-surface: var(--MainBackground); --header-text: var(--MainTextColor); --header-accent: var(--PrimaryBackColor); position: relative; isolation: isolate; padding: 0; background: var(--header-surface); color: var(--header-text); overflow: clip; }
.qf-header .qf-header-container { max-width: 1440px; padding-inline: clamp(20px,5vw,80px); gap: 0; }
.qf-header-nav { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 96px; padding-block: 16px; border-bottom: 1px solid var(--BorderColor); }
.qf-header .qf-brand { flex: 0 1 160px; }
.qf-header .qf-brand img { width: 100%; max-width: 100%; object-fit: contain; border-radius: 0; }
.qf-header .qf-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.qf-header .qf-links .qf-item { padding: 0; border: 0; background: transparent; color: inherit; }
    .qf-header .qf-links a {
        font-size: 16px;
        text-decoration: none;
        border-radius: 15px;
        border-bottom: 1px solid transparent;
        transition: .3s;
    }
        .qf-header .qf-links a:hover, .qf-header .qf-links a[aria-current=page] {
            background-color: rgba(150,150,150,.3);
            border-radius: 15px;
            color: var(--PrimaryTextColor);
            padding-left: 15px;
            padding-right: 15px;
            transition: .3s;
        }
.qf-header-hero { display: grid; grid-template-columns: minmax(0,58fr) minmax(0,42fr); align-items: center; gap: clamp(24px,4vw,64px); padding-block: clamp(48px,7vw,112px); min-height: 650px; }
.qf-header-copy, .qf-header-art { min-width: 0; position: relative; }
.qf-header .qf-header-copy h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(48px,7vw,104px); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; margin: 20px 0 28px; text-wrap: balance; }
.qf-header .qf-slot--description { font-size: clamp(20px,1.6vw,24px); line-height: 1.6; max-width: 38em; margin: 0 0 32px; color: var(--header-text); }
.qf-header .qf-slot--eyebrow { color: var(--header-text); font-size: 14px; letter-spacing: .16em; margin: 0; }
.qf-header .qf-actions { gap: 16px; }
.qf-header .qf-button { border-radius: 0; min-height: 52px; max-width: 100%; text-align: center; transition: transform 180ms ease; }
.qf-header .qf-slot--secondaryAction .qf-button { background: var(--SecondaryBackColor); color: var(--SecondaryTextColor); border: 1px solid var(--BorderColor); }
.qf-header-frame { position: relative; }
.qf-header-frame img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 0; }
.qf-header-frame picture { display: block; height: 100%; }
.qf-header-frame img[data-image-required] { min-height: 160px; border: 1px dashed var(--BorderColor); }
.qf-header-menu { display: none; position: relative; }
.qf-header-menu summary { gap: 10px; min-height: 44px; padding: 8px; list-style: none; }
.qf-header-menu summary::-webkit-details-marker { display: none; }
.qf-header-menu-icon { width: 22px; height: 16px; border-block: 2px solid currentColor; position: relative; }
.qf-header-menu-icon::after { content: ''; position: absolute; inset: 5px 0 auto; border-top: 2px solid currentColor; }
.qf-header-menu nav { margin-top: 16px; padding: 20px; background: var(--header-surface); border: 1px solid var(--BorderColor); color: var(--header-text); }
.qf-header-menu .qf-links { flex-direction: column; align-items: stretch; }
.qf-header-background { position: absolute; inset: 0; z-index: -2; }
.qf-header-background picture { display: block; height: 100%; }
.qf-header-background img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.qf-header-ornament { pointer-events: none; position: absolute; z-index: -1; }
.header-10 .qf-header-art::before { content: ''; position: absolute; inset: 8% -5%; border-radius: 50%; background: var(--SecondaryBackColor); z-index: -1; }
.header-10 .qf-header-frame { filter: drop-shadow(12px 24px 24px color-mix(in srgb,var(--MainTextColor) 16%,transparent)); }
.header-10 .qf-slot--secondaryAction .qf-button, .header-13 .qf-slot--secondaryAction .qf-button, .header-17 .qf-slot--secondaryAction .qf-button, .header-18 .qf-slot--secondaryAction .qf-button { background: transparent; color: inherit; border: 0; border-bottom: 1px solid currentColor; padding-inline: 0; }
.header-11 { background-image: linear-gradient(color-mix(in srgb,var(--BorderColor) 30%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--BorderColor) 30%,transparent) 1px,transparent 1px); background-size: 64px 64px; }
.header-11 .qf-header-hero { grid-template-columns: minmax(0,55fr) minmax(0,45fr); }
.header-11 .qf-header-copy h1, .header-14 .qf-header-copy h1, .header-19 .qf-header-copy h1 { font-family: inherit; font-weight: 800; }
.header-11 .qf-header-art::before, .header-11 .qf-header-art::after { content: ''; position: absolute; inset: 10% -3%; border: 1px solid var(--header-accent); border-radius: 50%; transform: rotate(-30deg) scaleY(.65); z-index: -1; }
.header-11 .qf-header-art::after { transform: rotate(45deg) scaleY(.65); }
.header-11 .qf-header-frame { filter: drop-shadow(0 0 36px color-mix(in srgb,var(--header-accent) 30%,transparent)); }
.header-11 .qf-header-frame img, .header-14 .qf-header-frame img { object-fit: contain; }
.header-11 .qf-button, .header-12 .qf-button, .header-14 .qf-button, .header-16 .qf-button, .header-18 .qf-button, .header-19 .qf-button { border-radius: 999px; }
.header-12 .qf-header-copy h1 { font-size: clamp(46px,6.5vw,98px); line-height: 1.05; }
.header-12 .qf-header-frame { border-radius: 50% 50% 0 0; overflow: hidden; outline: 1px solid var(--BorderColor); outline-offset: 12px; }
.header-12 .qf-header-frame img { aspect-ratio: 2/3; }
.header-12 .qf-header-art::before { content: ''; position: absolute; inset: 15% -12% -4% 10%; border-radius: 50% 40% 0 0; background: var(--SecondaryBackColor); z-index: -1; transform: rotate(8deg); }
.header-13, .header-15 { --header-surface: var(--OverlayBackColor); --header-text: var(--OverlayTextColor); min-height: 90svh; }
.header-13::after, .header-15::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,var(--OverlayBackColor) 0%,color-mix(in srgb,var(--OverlayBackColor) 94%,transparent) 48%,color-mix(in srgb,var(--OverlayBackColor) 20%,transparent)),linear-gradient(var(--OverlayBackColor),transparent 35%); }
.header-13 .qf-header-hero { grid-template-columns: minmax(0,55fr) minmax(0,45fr); min-height: 72svh; direction:ltr; }
.header-13 .qf-header-copy h1 { font-family: inherit; font-size: clamp(46px,6vw,88px); font-weight: 300; line-height: 1.08; }
.header-14 .qf-header-hero, .header-18 .qf-header-hero { grid-template-columns: minmax(0,52fr) minmax(0,48fr); }
.header-14 .qf-header-nav { margin-top: 20px; padding-inline: 24px; border: 1px solid var(--BorderColor); border-radius: 48px; background: var(--CardBackground); color: var(--MainTextColor); box-shadow: 0 12px 40px color-mix(in srgb,var(--MainTextColor) 10%,transparent); }
.header-14 .qf-header-copy h1 { font-size: clamp(44px,6vw,88px); line-height: 1.04; }
.header-14 .qf-header-frame { transform: rotate(4deg); background: var(--SecondaryBackColor); border-radius: 40px; padding: 20px; box-shadow: 12px 16px 0 var(--header-accent); }
.header-14 .qf-header-ornament { inset: -20px 20% 70% -15px; border: 2px solid var(--header-accent); border-radius: 45% 55% 30% 70%; transform: rotate(-20deg); }
.header-15::after { background: linear-gradient(var(--OverlayBackColor),color-mix(in srgb,var(--OverlayBackColor) 94%,transparent) 20%,color-mix(in srgb,var(--OverlayBackColor) 45%,transparent)); }
.header-15 .qf-header-hero, .header-19 .qf-header-hero { grid-template-columns: minmax(0,1fr); text-align: center; }
.header-15 .qf-header-copy, .header-19 .qf-header-copy { max-width: 1000px; margin-inline: auto; }
.header-15 .qf-header-copy h1 { font-size: clamp(42px,5.5vw,80px); line-height: 1.12; font-weight: 400; }
.header-15 .qf-actions, .header-19 .qf-actions { justify-content: center; }
.header-15 .qf-slot--description, .header-19 .qf-slot--description { margin-inline: auto; }
.header-15 .qf-slot--eyebrow { display: flex; align-items: center; justify-content: center; gap: 20px; }
.header-15 .qf-slot--eyebrow::before, .header-15 .qf-slot--eyebrow::after { content: ''; width: 48px; height: 1px; background: currentColor; }
.header-16 .qf-header-hero { grid-template-columns: repeat(2,minmax(0,1fr)); }
.header-16 .qf-header-copy h1 { font-size: clamp(46px,6.5vw,96px); }
.header-16 .qf-header-frame { border-radius: 42% 0 0 26% / 55% 0 0 45%; overflow: hidden; margin-inline-end: calc(-1 * clamp(20px,5vw,80px)); }
.header-16 .qf-header-frame img { aspect-ratio: 9/8; }
.header-16 .qf-header-ornament { inset: 75% 40% -5% -30%; border: 1px solid var(--header-accent); border-radius: 50%; transform: rotate(-12deg); }
.header-17 .qf-header-copy h1 { font-family: Impact,'Arial Narrow',sans-serif; font-size: clamp(56px,8vw,120px); font-weight: 900; line-height: .95; letter-spacing: -.025em; text-transform: uppercase; }
.header-17 .qf-header-frame { clip-path: polygon(0 0,100% 0,100% 72%,72% 100%,0 100%,0 58%,18% 42%,0 28%); }
.header-17 .qf-header-frame img { aspect-ratio: 3/4; }
.header-17 .qf-header-ornament { width: 35%; aspect-ratio: 1; border-radius: 50%; background: var(--SecondaryBackColor); inset: auto -6% -5% auto; }
.header-18 .qf-header-copy h1 { font-size: clamp(46px,6.3vw,94px); }
.header-18 .qf-header-frame { border-radius: 48px; overflow: hidden; box-shadow: 0 24px 48px color-mix(in srgb,var(--MainTextColor) 12%,transparent); }
.header-18 .qf-header-ornament { inset: -12px 5% 65% -15px; border: 2px solid var(--header-accent); border-radius: 48% 35% 50% 20%; transform: rotate(-12deg); }
.header-19 { background: radial-gradient(ellipse at 10% 20%,color-mix(in srgb,var(--PrimaryBackColor) 16%,transparent),transparent 55%),radial-gradient(ellipse at 90% 60%,var(--SecondaryBackColor),transparent 60%),var(--MainBackground); }
.header-19 .qf-header-copy h1 { font-size: clamp(44px,6vw,88px); line-height: 1.04; }
.header-19 .qf-header-art { max-width: 1120px; width: 100%; margin-inline: auto; }
.header-19 .qf-header-frame { padding: 12px; border-radius: 28px; border: 1px solid var(--BorderColor); background: color-mix(in srgb,var(--CardBackground) 75%,transparent); backdrop-filter: blur(16px); box-shadow: 0 24px 64px color-mix(in srgb,var(--MainTextColor) 12%,transparent); }
.header-19 .qf-header-frame img { aspect-ratio: 16/9; border-radius: 18px; }
.header-19 .qf-slot--primaryAction .qf-button { background: linear-gradient(110deg,var(--PrimaryBackColor),color-mix(in srgb,var(--PrimaryBackColor) 90%,var(--MainTextColor))); }
@media (prefers-reduced-motion: no-preference) {
    .qf-header .qf-button:hover { transform: translateY(-2px); }
    .header-14 .qf-button:hover { transform: scale(1.02); }
}
@media (max-width: 899px) {
    .qf-header-desktop { display: none; }
    .qf-header-menu { display: block; flex: 1; }
    .qf-header-menu summary { justify-content: flex-end; }
    .qf-header-nav { flex-wrap: wrap; gap: 12px; min-height: 80px; }
    .qf-header-menu[open] { flex-basis: 100%; }
    .qf-header-menu[open] summary { position: absolute; top:-65px; width: 100%; }
}
@media (max-width: 767px) {
    .qf-header .qf-header-container { padding-inline: 24px; }
    .qf-header .qf-header-hero { grid-template-columns: minmax(0,1fr); padding-block: 40px 56px; min-height: auto; gap: 40px; }
    .qf-header .qf-header-copy h1 { font-size: clamp(38px,9vw,52px); }
    .qf-header .qf-slot--description { font-size: 20px; }
    .qf-header .qf-header-art { max-width: 560px; width: 100%; margin-inline: auto; }
    .header-12 .qf-header-art { max-width: 360px; }
    .header-14 .qf-header-nav { border-radius: 24px; padding-inline: 16px; }
    .header-14 .qf-header-frame { transform: rotate(2deg); padding: 12px; }
    .header-16 .qf-header-frame { margin-inline-end: -24px; }
    .header-13::after { background: color-mix(in srgb,var(--OverlayBackColor) 96%,transparent); }
    .header-13, .header-15 { min-height: auto; }
}
