/* AUFBRUCH — aplicación de la identidad oficial.
   Principal #0F1E2E · Acento #F2B400 · Neutro #D9D9D9 · Fondo #F7F7F7 */
:root { --navy-mid: #203346; --muted: #53616d; }
body { color: var(--navy); }
.section { padding: 100px 0; }
.section-title, .statement { letter-spacing: -.045em; }
.section-title span, .statement span { color: #64717d; }
.section-head > p, .intro-bottom > p, .faq-grid > div > p { color: #53616d; font-size: 15px; }
.site-header { height: 94px; background: #fff; }
.brand img { width: 300px; }
.desktop-nav a { font-size: 12px; }
.desktop-nav a[aria-current="location"] { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 3px; text-underline-offset: 9px; }
.nav-quote { background: var(--yellow); color: var(--navy); }
.nav-quote span { color: var(--navy); }
.nav-quote:hover { background: var(--yellow-hover); }
.hero { min-height: 660px; background: var(--navy); }
.hero::before { background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 38%, rgba(15,30,46,.83) 49%, transparent 76%); z-index: 1; }
.hero-container { min-height: 680px; }
.hero-copy { width: 66%; padding: 80px 0 48px; }
.hero .eyebrow { font-size: 10px; letter-spacing: .16em; }
.hero h1 { font-size: clamp(48px,5.1vw,76px); line-height: 1.08; letter-spacing: -.05em; margin: 30px 0 25px; }
.hero-lead { max-width: 470px; font-size: 15px; line-height: 1.85; color: #d8dfe4; font-weight: 400; margin-bottom: 29px; }
.hero-bottom { margin-top: 49px; font-size: 10px; letter-spacing: .12em; color: #d8dfe4; }
.hero-visual { width: 60%; opacity: 1; }
.hero-photo { background-image: linear-gradient(0deg,rgba(15,30,46,.23),transparent 70%), url('https://images.unsplash.com/photo-1755816764831-2803235f0099?auto=format&fit=crop&w=1700&q=85'), url('../assets/brand-banner.png'); background-position: center; }
.hero-visual::before { background: linear-gradient(0deg,rgba(15,30,46,.6),transparent 45%); }
.hero-visual::after { display: none; }
.hero-angle { position: absolute; width: 14px; height: 125%; top: -12%; left: 64%; background: var(--yellow); transform: skew(-31deg); z-index: 2; opacity: .95; }
.hero-photo-note { position: absolute; right: 36px; top: 35px; z-index: 3; font-size: 9px; font-weight: 600; letter-spacing: .21em; color: #fff; }
.hero-project-tag { position: absolute; right: 4%; bottom: 45px; z-index: 4; padding: 22px 25px; display: grid; grid-template-columns: 1fr auto; gap: 10px 30px; background: rgba(15,30,46,.8); border-left: 3px solid var(--yellow); backdrop-filter: blur(12px); }
.hero-project-tag > span:first-child { font-size: 9px; letter-spacing: .15em; color: #d8dfe4; }
.hero-project-tag strong { grid-column: 1; font-size: 13px; font-weight: 600; }
.hero-project-tag > span:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--yellow); font-size: 26px; }
.line-icon { width: 48px; height: 48px; flex: none; }
.service-shortcuts { background: var(--navy-deep); color: #fff; border-top: 1px solid #31404e; }
.service-shortcuts > .container { display: grid; grid-template-columns: .9fr repeat(5, 1fr); padding: 29px 0; }
.shortcut-heading { font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.9; align-self: center; color: #b2bec7; }
.shortcut-heading > span { color: var(--yellow); display: block; font-size: 24px; }
.service-shortcuts a { display: flex; gap: 10px; align-items: center; justify-content: center; flex-direction: column; padding: 4px 12px; border-left: 1px solid #34404c; text-align: center; position: relative; }
.service-shortcuts a > .line-icon { color: var(--yellow); width: 42px; height: 42px; transition: transform .2s; }
.service-shortcuts a > span { font-size: 11px; line-height: 1.65; font-weight: 600; }
.service-shortcuts .shortcut-arrow { position: absolute; right: 13px; top: 3px; color: var(--yellow); opacity: 0; transition: opacity .2s; }
.service-shortcuts a:hover .shortcut-arrow, .service-shortcuts a:focus-visible .shortcut-arrow { opacity: 1; }
.service-shortcuts a:hover .line-icon { transform: translateY(-4px); }
.intro-grid { grid-template-columns: 22% 1fr; gap: 55px; }
.statement { font-size: clamp(34px,4vw,58px); }
.intro-bottom { gap: 40px; align-items: start; }
.intro-bottom > p { max-width: 510px; }
.text-link { min-width: 220px; font-size: 11px; }
.brand-story { margin-top: 65px; display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid #dfe3e6; }
.brand-signature { background: var(--paper); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 30px; padding: 48px 35px; position: relative; overflow: hidden; }
.brand-signature::after { content: ''; position: absolute; right: 0; bottom: 0; width: 65px; height: 8px; background: var(--yellow); transform: skew(-32deg); }
.brand-signature img { width: 300px; height: auto; mix-blend-mode: multiply; }
.brand-signature > span { font-size: 8px; letter-spacing: .16em; font-weight: 700; text-align: center; }
.brand-values { padding: 40px 50px; }
.brand-values .eyebrow { font-size: 9px; }
.brand-values h3 { font-size: clamp(23px,2.3vw,32px); line-height: 1.25; letter-spacing: -.04em; margin: 23px 0 16px; }
.brand-values p { font-size: 13px; line-height: 1.9; color: #53616d; max-width: 500px; }
.value-tags { display: flex; flex-wrap: wrap; gap: 25px; margin-top: 27px; }
.value-tags span { border-left: 3px solid var(--yellow); padding-left: 10px; font-size: 9px; font-weight: 700; letter-spacing: .09em; }
.services-grid { grid-auto-rows: 300px; }
.service-card .service-content { padding: 28px; }
.service-featured .service-bottom h3 { font-size: 37px; }
.service-bottom h3 { letter-spacing: -.04em; font-size: 27px; }
.service-bottom p { font-size: 12px; line-height: 1.7; }
.service-card .service-outline-icon { height: 65px; font-size: inherit; }
.service-outline-icon .line-icon { width: 55px; height: 55px; }
.service-card:focus-visible, .gallery-card:focus-visible { outline-offset: 4px; }
.service-number { font-weight: 600; }
.service-gold::after { content: ""; width: 50px; height: 130%; top: -10%; right: 50px; background: rgba(255,255,255,.14); transform: skew(-32deg); }
.gallery-disclaimer { color: #53616d; font-size: 11px; }
.signature-section { min-height: 450px; }
.signature-image { background-image: url('../assets/brand-banner.png'); background-position: right center; }
.signature-overlay { background: linear-gradient(90deg,rgba(15,30,46,.97),rgba(15,30,46,.86) 32%,rgba(15,30,46,.2)); }
.signature-content { padding: 70px 0; }
.signature-content h2 { font-size: clamp(38px,4.4vw,62px); letter-spacing: -.045em; }
.signature-content > p { max-width: 450px; line-height: 1.8; font-size: 14px; }
.method-section { background: var(--navy); }
.method-section::after { display: none; }
.method-section .steps p { font-size: 14px; color: #d0d9e0; }
.method-title-column > p { color: #d0d9e0; }
.faq-items summary { font-size: 15px; }
.faq-items details p { font-size: 14px; color: #53616d; }
.contact-section::before { display: none; }
.contact-copy h2 { font-size: clamp(40px,4.5vw,65px); letter-spacing: -.045em; }
.contact-copy > p { font-size: 15px; }
.contact-form-wrap { border-top: 4px solid var(--yellow); box-shadow: none; }
.form-field label { font-size: 12px; }
.form-field input, .form-field select, .form-field textarea { font-size: 14px; }
.form-description { color: #53616d; font-size: 13px; }
.check-field { font-size: 11px; color: #53616d; }
.form-fineprint { font-size: 10px; color: #53616d; }
.footer-top { border-bottom: 2px solid var(--navy); }
.footer-grid > div > span { color: #53616d; }
@media (max-width: 1190px) {
  .brand img { width: 255px; }
  .desktop-nav { gap: 17px; }
  .desktop-nav a { font-size: 11px; }
  .hero h1 { font-size: 60px; }
  .hero .eyebrow { font-size: 9px; }
  .hero-project-tag { right: 3%; padding: 18px; }
  .hero-project-tag strong { font-size: 11px; }
  .service-shortcuts > .container { grid-template-columns: .8fr repeat(5,1fr); }
  .service-shortcuts a { padding: 4px 8px; }
  .service-shortcuts a > span { font-size: 10px; }
  .intro-grid { gap: 25px; }
  .intro-bottom { display: block; }
  .text-link { max-width: 280px; margin-top: 18px; }
}
@media (max-width: 980px) {
  .site-header { height: 80px; }
  .hero-container { min-height: 650px; }
  .hero-copy { width: 85%; }
  .hero h1 { font-size: clamp(48px,7.5vw,68px); }
  .hero::before { background: linear-gradient(90deg,rgba(15,30,46,.98),rgba(15,30,46,.89) 45%,rgba(15,30,46,.3)); }
  .hero-visual { width: 80%; }
  .hero-angle { left: 82%; opacity: .55; width: 8px; }
  .hero-project-tag { display: none; }
  .service-shortcuts > .container { grid-template-columns: repeat(5,1fr); }
  .shortcut-heading { display: none; }
  .service-shortcuts a:first-of-type { border-left: 0; }
  .intro-grid { display: block; }
  .brand-values { padding: 35px 30px; }
  .brand-signature { padding: 35px 25px; }
  .brand-signature > span { font-size: 7px; }
  .brand-values h3 { font-size: 25px; }
}
@media (max-width: 640px) {
  .section { padding: 68px 0; }
  .site-header { height: 76px; }
  .brand img { width: 230px; }
  .hero { min-height: auto; }
  .hero-container { min-height: 650px; }
  .hero-copy { width: 100%; padding: 64px 0 38px; }
  .hero .eyebrow { font-size: 8px; letter-spacing: .1em; gap: 9px; }
  .hero .eyebrow-rule { width: 18px; height: 3px; }
  .hero h1 { font-size: clamp(37px,9.1vw,57px); letter-spacing: -.05em; line-height: 1.12; margin: 28px 0 22px; }
  .hero-lead { font-size: 14px; max-width: 340px; line-height: 1.85; }
  .hero-buttons { gap: 6px; }
  .hero-buttons .button { max-width: 310px; }
  .hero-bottom { margin-top: 32px; font-size: 8px; letter-spacing: .1em; }
  .hero-angle { left: 98%; width: 6px; opacity: .7; }
  .hero-visual { width: 100%; }
  .hero::before { background: linear-gradient(90deg,rgba(15,30,46,.97),rgba(15,30,46,.82) 55%,rgba(15,30,46,.48)); }
  .hero-photo-note { display: none; }
  .service-shortcuts > .container { width: 100%; grid-template-columns: repeat(6,1fr); padding: 0; }
  .service-shortcuts a { grid-column: span 2; padding: 20px 5px; gap: 6px; border-bottom: 1px solid #34404c; }
  .service-shortcuts a:nth-of-type(4), .service-shortcuts a:nth-of-type(5) { grid-column: span 3; border-bottom: 0; }
  .service-shortcuts a:nth-of-type(4) { border-left: 0; }
  .service-shortcuts a > .line-icon { width: 34px; height: 34px; }
  .service-shortcuts a > span { font-size: 10px; }
  .brand-story { grid-template-columns: 1fr; margin-top: 35px; }
  .brand-signature { padding: 35px 24px; gap: 22px; }
  .brand-signature img { width: 250px; }
  .brand-signature > span { font-size: 8px; }
  .brand-values { padding: 30px 24px; }
  .brand-values h3 { font-size: 25px; }
  .brand-values p { font-size: 13px; }
  .value-tags { gap: 17px; }
  .value-tags span { font-size: 8px; }
  .section-head > p, .intro-bottom > p { font-size: 14px; }
  .service-featured { height: 365px; min-height: 365px; }
  .service-featured .service-bottom h3 { font-size: 34px; }
  .service-card .service-content { padding: 25px; }
  .signature-section { min-height: 450px; }
  .signature-content { padding: 65px 0; }
  .signature-content h2 { font-size: 35px; }
  .signature-content > p { font-size: 14px; }
  .faq-items summary { font-size: 14px; }
  .contact-copy h2 { font-size: 47px; }
  .contact-copy > p { font-size: 14px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 16px; }
  .footer-top p { font-size: 23px; }
}
@media (max-width: 370px) {
  .brand img { width: 205px; }
  .hero h1 { font-size: 34px; }
  .hero .eyebrow { font-size: 7px; }
  .hero-container { min-height: 640px; }
  .contact-copy h2 { font-size: 41px; }
}
