/**
 * Copyright (c) 2026 DNA Genics, S.L. All rights reserved.
 * Shared Heritage editorial patterns for public company and opportunity pages.
 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600;700&display=swap');
.company-heritage { --company-nav:var(--nav-height,var(--navbar-height,72px)); padding-top:calc(var(--company-nav) + 8px); padding-bottom:48px; font-family:var(--hd-sans); line-height:1.75; min-width:0; }
.company-heritage *, .company-heritage *::before, .company-heritage *::after { box-sizing:border-box; }
/* Public layout section padding is replaced by the page's editorial spacing. */
.company-heritage :where(section) { padding:0; }
.company-heritage [id] { scroll-margin-top:calc(var(--company-nav) + 20px); }
.company-heritage :is(h1,h2,h3,p,a,span,dd,dt,summary) { overflow-wrap:anywhere; }
.company-heritage :is(a,summary,[tabindex]):focus-visible { outline:3px solid #92723b; outline-offset:4px; }
.company-heritage a:not(.company-skip,.hd-btn):is(:hover,:focus) { color:var(--hd-primary); text-decoration:underline; text-underline-offset:4px; }
.company-heritage .hd-eyebrow { color:#876a36; font-size:.69rem; margin-bottom:12px; }
.company-heritage .hd-btn { min-height:46px; justify-content:center; text-align:center; }
.company-heritage .hd-btn--primary:is(:hover,:focus), .company-heritage .hd-btn--primary { color:#fff; }
.company-heritage .hd-btn--ghost:is(:hover,:focus), .company-heritage .hd-btn--sand:is(:hover,:focus) { color:var(--hd-primary); }
.company-heritage .dna-icon { flex-shrink:0; width:18px; height:18px; }
.company-container { width:100%; max-width:1440px; padding-inline:clamp(18px,4vw,64px); margin-inline:auto; }
.company-skip { position:fixed; top:-120px; left:16px; z-index:2000; padding:12px 18px; border-radius:8px; color:#fff; background:var(--hd-primary); }
.company-skip:focus { top:12px; color:#fff; }
.company-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:14px 0; color:var(--hd-muted); font-size:.76rem; }
.company-breadcrumb a { color:var(--hd-primary); text-decoration:underline; text-underline-offset:3px; }
.company-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); gap:clamp(28px,6vw,86px); align-items:center; padding:26px 0 40px; }
.company-hero h1 { color:var(--hd-primary); font:500 clamp(3rem,5vw,5rem)/1.03 var(--hd-serif); letter-spacing:-.025em; margin:0 0 22px; }
.company-hero h1 em { color:#8b6d38; font-weight:400; }
.company-hero__copy > p { color:#62645c; font-size:.98rem; line-height:1.85; max-width:54ch; margin:0; }
.company-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-top:24px; }
.company-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; max-width:100%; color:var(--hd-primary); font-size:.83rem; font-weight:600; text-decoration:underline; text-decoration-color:#b7b7a8; text-underline-offset:5px; }
.company-link .dna-icon { width:16px; height:16px; }
.company-aside { background:var(--hd-sand); border:1px solid var(--hd-border); border-radius:var(--hd-radius); padding:clamp(24px,3vw,36px); }
.company-aside h2 { color:var(--hd-primary); font:500 2.1rem/1.12 var(--hd-serif); margin:0 0 18px; }
.company-aside p { color:#626053; font-size:.85rem; margin:0 0 16px; }
.company-aside ul { padding:0; margin:0; list-style:none; border-top:1px solid #d9cbb4; }
.company-aside li { display:flex; gap:10px; align-items:center; padding:12px 0; border-bottom:1px solid #d9cbb4; font-size:.82rem; color:var(--hd-primary); }
.company-aside li:last-child { border:0; padding-bottom:0; }
.company-nav { display:flex; gap:4px 26px; flex-wrap:wrap; align-items:center; border-block:1px solid var(--hd-border); padding:10px 0; }
.company-nav > span { color:var(--hd-muted); font-size:.67rem; text-transform:uppercase; letter-spacing:.08em; margin-right:auto; }
.company-nav a { color:var(--hd-primary); display:inline-flex; align-items:center; min-height:44px; font-size:.78rem; text-underline-offset:4px; }
.company-section { margin-top:52px; }
.company-section-heading { margin-bottom:26px; }
.company-section-heading h2, .company-callout h2 { color:var(--hd-primary); font:500 clamp(2rem,3.2vw,2.9rem)/1.12 var(--hd-serif); letter-spacing:-.015em; margin:0 0 14px; }
.company-section-heading > p { color:var(--hd-muted); font-size:.9rem; margin:0; max-width:58ch; }
.company-split { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:clamp(28px,6vw,86px); }
.company-split > .company-section-heading { margin-bottom:0; }
.company-prose p { color:var(--hd-muted); font-size:.9rem; margin:0 0 16px; }
.company-prose p:last-child { margin:0; }
.company-heritage h3 { color:var(--hd-primary); font:600 .98rem/1.5 var(--hd-sans); margin:0 0 8px; }
.company-note { display:flex; align-items:flex-start; gap:14px; color:#4d5a4d; background:var(--hd-sage); border:1px solid #d6dfd1; border-radius:12px; padding:18px 22px; }
.company-note .dna-icon { margin-top:3px; }
.company-note p { margin:0; font-size:.83rem; }
.company-note a { color:var(--hd-primary); text-decoration:underline; text-underline-offset:3px; }
.company-faq details { border-bottom:1px solid var(--hd-border); }
.company-faq details:first-child { border-top:1px solid var(--hd-border); }
.company-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:17px 0; cursor:pointer; color:var(--hd-primary); font-size:.9rem; line-height:1.6; list-style:none; }
.company-faq summary::-webkit-details-marker { display:none; }
.company-faq summary .dna-icon { width:15px; height:15px; }
.company-faq details[open] summary { font-weight:600; }
.company-faq details[open] summary .dna-icon { transform:rotate(180deg); }
.company-faq details > p { color:var(--hd-muted); padding:0 25px 20px 0; margin:0; font-size:.86rem; }
.company-faq a { color:var(--hd-primary); text-decoration:underline; text-underline-offset:3px; }
.company-callout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr); align-items:center; gap:32px; padding:clamp(24px,4vw,44px); margin-top:52px; background:var(--hd-sand); border:1px solid var(--hd-border); border-radius:var(--hd-radius); }
.company-callout p { color:#626053; font-size:.89rem; margin:0; max-width:55ch; }
.company-callout .company-actions { margin-top:0; }
.company-inline-notice { font-size:.77rem; color:var(--hd-muted); margin:14px 0 0; }

@media (max-width:991px) {
    .company-hero { grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr); gap:28px; }
    .company-split { gap:30px; }
    .company-nav { gap:4px 20px; }
    .company-nav > span { margin-right:10px; }
    .company-callout { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:767px) {
    .company-heritage { padding-bottom:32px; }
    .company-hero, .company-split { grid-template-columns:1fr; }
    .company-hero { padding:18px 0 28px; gap:24px; }
    .company-hero h1 { font-size:clamp(2.8rem,10vw,4.2rem); }
    .company-hero__copy > p { font-size:.93rem; }
    .company-aside { padding:24px; }
    .company-nav > span { flex-basis:100%; }
    .company-section, .company-callout { margin-top:36px; }
    .company-section-heading { margin-bottom:22px; }
    .company-split { gap:22px; }
    .company-note { padding:18px; gap:12px; }
}
@media (max-width:359px) {
    .company-actions { flex-direction:column; align-items:stretch; }
    .company-actions > .company-link { justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .company-heritage *, .company-heritage *::before, .company-heritage *::after { scroll-behavior:auto !important; transition:none !important; } }
@media print { .company-heritage { padding:0; } .company-skip, .company-nav, .company-actions { display:none; } .company-faq details > p { display:block; } .company-faq details { break-inside:avoid; } }
