/* Navigation, automatic diagram controls and the project-owner contact section. */
.main-nav{font-size:16px;font-weight:600;gap:clamp(22px,2.3vw,40px)}
.main-nav a{padding:14px 0;color:var(--ink)}
.header-action{font-size:15px;font-weight:600}
.hero h1{margin-top:12px}
.assembly-playback{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0 0;max-width:460px;font-size:8px;letter-spacing:.08em;color:var(--muted)}
.assembly-playback button{border:0;background:transparent;padding:10px 0;font-size:11px;color:var(--accent);display:flex;gap:12px;align-items:center;min-height:44px}
.assembly-playback{justify-content:flex-end}
.hero-visual figcaption span:only-child{font-size:9px;letter-spacing:.03em;color:#d9e7e1}
.diagram-bottom i{transition:opacity .3s}
.assembly-stage.is-cycling .diagram-bottom i{animation:cycle-dot 3s ease-in-out infinite}
@keyframes cycle-dot{0%,100%{opacity:.35}50%{opacity:1}}
.contact-section{background:#edf2ed;border-top:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:center}
.contact-intro h2{margin:22px 0}
.contact-intro>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:400px}
.contact-intro .contact-owner{display:inline-block;margin-top:28px;padding-top:17px;border-top:1px solid var(--line);font-size:18px;color:var(--ink)}
.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-channel{display:grid;grid-template-columns:38px 1fr 16px;gap:15px;padding:26px 22px;background:#f8faf5;border:1px solid #d4dfd5;min-width:0;transition:border-color .2s,background .2s}
a.contact-channel:hover{border-color:var(--accent);background:#fff}
.contact-whatsapp{grid-column:1/-1;background:#dbede3;border-color:#b8d7c5}
.contact-linkedin{grid-column:1/-1}
.contact-icon{color:var(--accent);padding-top:3px}
.contact-icon svg{width:27px;height:27px;stroke-width:1.3}
.contact-content{display:flex;flex-direction:column;gap:9px;min-width:0}
.contact-label{font-size:12px;color:var(--muted)}
.contact-value{font-size:16px;line-height:1.5;overflow-wrap:anywhere;letter-spacing:-.025em}
.contact-whatsapp .contact-value{font-size:24px}
.contact-hint{font-size:10px;line-height:1.6;color:var(--muted)}
.contact-phone,.contact-email{grid-template-columns:24px minmax(0,1fr);gap:12px}
.contact-phone .contact-arrow,.contact-email .contact-arrow{display:none}
.contact-email .contact-value{font-size:14px;letter-spacing:-.025em}
.contact-arrow{color:var(--accent);font-size:20px}
.contact-channel[aria-disabled=true] .contact-value{font-size:16px;color:var(--muted)}
html:not(.enhanced) .assembly-playback{display:none}
@media(max-width:1100px){.main-nav{font-size:14px;gap:22px}.header-action{font-size:14px}.contact-layout{gap:6%}.contact-channel{padding:22px 17px;gap:10px;grid-template-columns:29px 1fr 16px}.contact-channels{grid-template-columns:1fr}.contact-value{font-size:16px}}
@media(min-width:601px) and (max-width:900px){.hero h1{grid-row:1/3}.hero-description{margin-top:12px}.hero-actions{grid-row:2}.hero-copy{padding-top:45px}}
@media(max-width:900px){.main-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;order:3;width:100%;font-size:14px;border-top:1px solid var(--line)}.masthead{height:auto;min-height:120px;flex-wrap:wrap;padding-top:16px;padding-bottom:4px;gap:8px 20px}.header-action{margin-left:auto}.contact-layout{grid-template-columns:1fr;gap:34px}.contact-intro>p{max-width:540px}.contact-channels{grid-template-columns:1fr 1fr}.contact-whatsapp,.contact-linkedin{grid-column:1/-1}}
@media(max-width:600px){.main-nav{font-size:13px;gap:6px 19px}.main-nav a{padding:12px 0}.header-action{font-size:12px}.masthead{gap:8px 15px;min-height:125px}.hero h1{margin-top:0}.contact-intro h2{font-size:35px}.contact-intro>p{font-size:13px}.contact-channel{padding:22px 18px}.contact-channels{grid-template-columns:1fr;gap:12px}.contact-whatsapp .contact-value{font-size:22px}.contact-value{font-size:17px}.contact-hint{font-size:11px}.contact-label{font-size:12px}.assembly-playback{font-size:7px;gap:8px}.assembly-playback button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.assembly-stage.is-cycling .diagram-bottom i{animation:none}}
