/* NuruLink wordmark proposals. White interiors; gold contours only. */
.nl-logo { display: block; width: 100%; height: auto; background: var(--elb-white, #FFFFFF); overflow: visible; }
.nl-logo text { -webkit-text-stroke: 0; paint-order: stroke fill; }
.nl-logo.is-animated .nl-route, .nl-logo.is-animated .nl-letter, .nl-logo.is-animated .nl-letter-dot { stroke-dasharray: 1; stroke-dashoffset: 1; animation: nl-electric-trace 2.4s cubic-bezier(.3,.05,.25,1) forwards; }
.nl-logo.is-animated .nl-signature { opacity: 0; animation: nl-signature-reveal .25s ease-out 2.4s forwards; }
@keyframes nl-electric-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes nl-signature-reveal { from { opacity: 0; } to { opacity: 1; } }
.nl-gallery { color: var(--elb-white, #FFFFFF); -webkit-text-fill-color: var(--elb-white, #FFFFFF); -webkit-text-stroke: var(--elb-text-stroke, .85px) var(--elb-gold-ink, #765513); paint-order: stroke fill; }
.nl-gallery-intro { max-width: 780px; margin: 0 0 24px; }
.nl-gallery-intro p:first-child { font-size: 1.25rem; font-weight: 650; color: var(--elb-white, #FFFFFF); margin-bottom: 8px; }
.nl-gallery-intro p:last-child { color: var(--elb-white, #FFFFFF); font-size: .9rem; margin-bottom: 0; }
.nl-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nl-logo-card { min-width: 0; border: 1px solid var(--elb-gold-line, #D1B779); border-radius: 14px; background: var(--elb-white, #FFFFFF); padding: 22px; }
.nl-logo-card.is-selected { border: 2px solid var(--elb-gold, #B38A39); padding: 21px; }
.nl-logo-card-heading { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-bottom: 16px; }
.nl-logo-card-heading h3 { margin: 0; font-size: 1rem; }
.nl-logo-number { font-size: .875rem; font-weight: 650; color: var(--elb-white, #FFFFFF); letter-spacing: .08em; }
.nl-logo-status { margin-left: auto; font-size: .875rem; color: var(--elb-white, #FFFFFF); border: 1px solid var(--elb-gold-line, #D1B779); border-radius: 20px; padding: 2px 7px; }
.nl-logo-figure { margin: 0; }
.orbital-latest { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:2rem; padding:1.25rem; border:1px solid #c3a14b; border-radius:24px; background:#fff; margin-bottom:2.5rem; }
.orbital-latest img { display:block; width:100%; height:auto; border-radius:16px; }
.orbital-latest p { line-height:1.6; }
@media(max-width:850px) { .orbital-latest { grid-template-columns:1fr; gap:1rem; } }
.nl-logo-figure .nl-logo { min-width: 0; }
.nl-logo-figure figcaption { margin: 15px 0 20px; font-size: .875rem; line-height: 1.6; color: var(--elb-white, #FFFFFF); min-height: 3.2em; }
.nl-logo-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; border-top: 1px solid var(--elb-gold-line, #D1B779); padding-top: 16px; }
.nl-logo-actions .button { font-size: .875rem; min-height: 42px; padding: 9px 12px; }
.nl-logo-download { margin-left: auto; padding: 10px 2px; color: var(--elb-white, #FFFFFF); text-underline-offset: 4px; font-size: .875rem; }
.nl-logo-actions button:focus-visible, .nl-logo-download:focus-visible { outline: 3px solid var(--elb-gold-ink, #765513); outline-offset: 3px; }
@media (max-width: 960px) { .nl-gallery-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .nl-logo-card { padding: 17px; } .nl-logo-card.is-selected { padding: 16px; } .nl-logo-actions .button { flex: 1 1 130px; } .nl-logo-figure figcaption { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .nl-logo.is-animated .nl-route, .nl-logo.is-animated .nl-letter, .nl-logo.is-animated .nl-letter-dot { animation: none; stroke-dasharray: none; stroke-dashoffset: 0; } .nl-logo.is-animated .nl-signature { animation: none; opacity: 1; } }
@media print { .nl-logo-actions { display: none; } .nl-logo-card { break-inside: avoid; } .nl-logo.is-animated .nl-route, .nl-logo.is-animated .nl-letter, .nl-logo.is-animated .nl-letter-dot { animation: none; stroke-dasharray: none; stroke-dashoffset: 0; } .nl-logo.is-animated .nl-signature { animation: none; opacity: 1; } }
.nl-comparison { margin:2.5rem 0; scroll-margin-top:1.5rem; }
.nl-comparison>header { margin-bottom:1rem; }
.nl-comparison>header h2 { margin:.35rem 0; }
.nl-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.nl-competition-index { display:flex; flex-wrap:wrap; gap:.75rem; }
.nl-competition-index a,.nl-other-proposals>summary { padding:.75rem 1.2rem; border:1px solid var(--elb-gold-line); border-radius:.8rem; cursor:pointer; background:#fff; }
.nl-other-proposals>summary { margin-bottom:1.25rem; }
@media(max-width:1000px) { .nl-comparison-grid { grid-template-columns:1fr; } }
