/* Copyright (c) 2026 DNA Genics, S.L. All rights reserved. */
.aci-page { color: #213a2f; background: #faf8f4; }
.aci-page :is(h1,h2,h3,p,li,a,span) { overflow-wrap: anywhere; }
.aci-page .aci-hero { padding: clamp(30px,5vw,70px) 0 64px; }
.aci-hero-layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(32px,5vw,80px); align-items: center; }
.aci-hero-copy { min-width: 0; }
.aci-page h1 { font-family: var(--hd-serif); font-size: clamp(46px,5.7vw,84px); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; margin: 20px 0 28px; }
.aci-lead { max-width: 580px; font-size: 18px; line-height: 1.8; color: #51594f; }
.aci-page .hpl-actions { gap: 12px; margin: 26px 0; }
.aci-hero-note { max-width: 550px; margin: 28px 0 0; color: #51594f; font-size: 13px; line-height: 1.8; }
.aci-hero-note a { color: #213a2f; text-decoration: underline; text-underline-offset: 3px; }
.aci-starting-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 28px 0 20px; }
.aci-starting-price > span:first-child { font-size: 13px; color: #51594f; }
.aci-starting-price > span:last-child { font-family: var(--hd-serif); font-size: 34px; line-height: 1.2; }
.aci-featured-example { margin: 0; background: #fff; border: 1px solid #ded5c4; border-radius: 4px; overflow: hidden; }
.aci-art-label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 15px 22px; background: #efe6d6; color: #51594f; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.aci-art-mount { padding: clamp(12px,2vw,26px); background: #eee8dc; }
.aci-art-mount img { width: 100%; height: auto; max-height: 420px; display: block; object-fit: contain; background: #faf8f4; }
.aci-featured-example figcaption { padding: 22px; }
.aci-featured-example figcaption > p { color: #51594f; font-size: 13px; line-height: 1.7; margin: 12px 0; }
.aci-no-art { padding: 38px; background: #efe6d6; border-left: 4px solid #213a2f; }
.aci-page h2 { font-family: var(--hd-serif); font-size: clamp(34px,3.4vw,52px); font-weight: 400; line-height: 1.12; }
.aci-introduction { background: #efe6d6; padding: 56px 0; }
.aci-introduction-layout,.aci-context-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,6vw,100px); align-items: start; }
.aci-introduction h2,.aci-context h2 { margin: 16px 0 0; }
.aci-introduction-layout > div:last-child p,.aci-context-layout > div:last-child p { color: #51594f; font-size: 16px; line-height: 1.85; margin: 0 0 18px; }
.aci-page .hpl-section-header { align-items: end; }
.aci-page .hpl-section-header > p { color: #51594f; }
.aci-style-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 28px; margin-top: 32px; }
.aci-style-example { margin: 0; min-width: 0; border-bottom: 1px solid #ded5c4; padding-bottom: 24px; }
.aci-style-image { display: block; background: #eee8dc; padding: 16px; color: #213a2f; text-decoration: none; }
.aci-style-image img { display: block; width: 100%; height: 290px; object-fit: contain; background: #faf8f4; }
.aci-style-image > span { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; font-size: 12px; font-weight: 600; padding-top: 10px; }
.aci-style-example figcaption { padding: 22px 0 0; }
.aci-example-label { display: block; font-size: 10px; letter-spacing: .1em; font-weight: 600; text-transform: uppercase; color: #68583a; margin-bottom: 10px; }
.aci-page .aci-style-example h3 { font-family: var(--hd-serif); font-size: 29px; font-weight: 500; line-height: 1.1; margin: 0 0 14px; }
.aci-style-example figcaption > p { color: #51594f; font-size: 14px; line-height: 1.75; margin: 0 0 16px; }
.aci-page .ai-legal-disclaimer { margin: 14px 0 0; padding: 0; border: 0; background: transparent; color: #51594f; font-size: 12px; line-height: 1.7; }
.aci-page .ai-legal-disclaimer :is(p,summary) { color: #51594f; opacity: 1; }
.aci-page .ai-legal-disclaimer__icon { display: none; }
.aci-page .ai-legal-disclaimer__toggle { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; cursor: pointer; }
.aci-page .studio-art-notice { margin-top: 8px; font-size: 12px; color: #51594f; }
.aci-page .studio-art-notice summary { display: list-item; min-height: 32px; padding: 6px 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (pointer: coarse) { .aci-page .studio-art-notice summary { min-height: 44px; padding: 12px 0; } }
.aci-page .studio-art-notice p { color: #51594f; line-height: 1.75; }
.aci-section-end { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 36px; }
.aci-section-end p { color: #51594f; font-size: 14px; margin: 0; }
.aci-credit-list { border-top: 1px solid #cbbfa9; }
.aci-credit-row { display: grid; grid-template-columns: minmax(130px,.65fr) minmax(0,1.5fr) minmax(130px,.6fr) auto; gap: 24px; align-items: center; padding: 28px 0; border-bottom: 1px solid #cbbfa9; }
.aci-page .aci-credit-row h3 { font-family: var(--hd-sans); margin: 0; font-size: 13px; font-weight: 500; }
.aci-credit-row h3 > span { display: block; font-family: var(--hd-serif); font-size: 50px; line-height: 1; margin-bottom: 6px; }
.aci-credit-row > p { color: #51594f; font-size: 14px; line-height: 1.8; margin: 0; }
.aci-credit-row > .hpl-purchase-guide { grid-column: 1 / -1; margin-bottom: 0; }
.aci-pack-price { display: flex; flex-direction: column; gap: 5px; }
.aci-pack-price > span:first-child { font-family: var(--hd-serif); font-size: 32px; line-height: 1.15; }
.aci-pack-price > span:last-child { font-size: 11px; color: #51594f; }
.aci-price-note { color: #51594f; max-width: 900px; font-size: 13px; line-height: 1.8; margin: 24px 0 0; }
.aci-unavailable { padding: 30px; background: #fff; border: 1px solid #ded5c4; color: #51594f; line-height: 1.8; }
.aci-journey { list-style: none; padding: 0; margin: 0; border-top: 1px solid #ded5c4; }
.aci-journey li { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 24px; padding: 26px 0; border-bottom: 1px solid #ded5c4; }
.aci-journey li > span { font-family: var(--hd-serif); font-size: 36px; color: #715c34; }
.aci-page .aci-journey h3 { font-size: 23px; font-weight: 500; margin: 0 0 9px; }
.aci-journey p { font-size: 15px; line-height: 1.8; color: #51594f; max-width: 850px; margin: 0; }
.aci-surface-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 60px; }
.aci-page .aci-surface-groups h3 { font-size: 27px; font-weight: 500; margin: 0 0 20px; }
.aci-surface-groups ul { padding: 0; margin: 0; list-style: none; border-top: 1px solid #cbbfa9; }
.aci-surface-groups li { padding: 12px 0 17px; border-bottom: 1px solid #cbbfa9; }
.aci-surface-groups a { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 44px; text-decoration: none; font-size: 16px; font-weight: 600; }
.aci-surface-groups a:hover span:first-child { text-decoration: underline; text-underline-offset: 4px; }
.aci-surface-groups p { margin: 0; color: #51594f; font-size: 13px; line-height: 1.75; }
.aci-context { padding: 64px 0; border-bottom: 1px solid #ded5c4; }
.aci-context .hpl-text-link { display: flex; width: fit-content; max-width: 100%; margin-top: 16px; }
.aci-page :is(summary,.aci-style-image):focus-visible { outline: 3px solid #5f7a68; outline-offset: 4px; }
@media (max-width: 1100px) {
    .aci-hero-layout { gap: 30px; }
    .aci-credit-row { grid-template-columns: minmax(110px,.6fr) minmax(0,1.4fr) minmax(120px,.6fr); }
    .aci-credit-row > a { grid-column: 2 / 4; justify-self: start; }
    .aci-style-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .aci-page .aci-hero { padding: 24px 0 44px; }
    .aci-hero-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
    .aci-page h1 { font-size: clamp(43px,8vw,62px); margin: 16px 0 22px; }
    .aci-lead { font-size: 16px; line-height: 1.75; }
    .aci-page .aci-hero-copy .hpl-actions { align-items: stretch; }
    .aci-hero-copy .hpl-actions > a { flex: 1 1 220px; }
    .aci-art-label,.aci-featured-example figcaption { padding: 16px; }
    .aci-introduction,.aci-context { padding: 40px 0; }
    .aci-introduction-layout,.aci-context-layout,.aci-surface-groups { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .aci-page h2 { font-size: clamp(33px,6vw,43px); }
    .aci-credit-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px 12px; }
    .aci-credit-row > p { grid-column: 1 / -1; grid-row: 2; }
    .aci-credit-row > a { grid-column: 1 / -1; justify-self: stretch; }
    .aci-pack-price { text-align: right; }
    .aci-credit-row h3 > span { font-size: 44px; }
    .aci-journey li { grid-template-columns: 42px minmax(0,1fr); gap: 14px; }
    .aci-section-end { flex-direction: column; align-items: stretch; }
    .aci-page .hpl-mobile-actions { gap: 8px; }
    .aci-page .hpl-mobile-actions .hpl-button { padding-inline: 10px; font-size: 13px; }
}
@media (max-width: 575px) {
    .aci-style-gallery { grid-template-columns: minmax(0,1fr); gap: 32px; }
    .aci-style-image img { height: auto; max-height: 390px; min-height: 160px; }
    .aci-style-image { padding: 12px; }
}
@media print {
    .aci-page .hpl-mobile-actions { display: none; }
    .aci-page .aci-style-image img { max-height: 240px; }
    .aci-page .ai-legal-disclaimer { display: block; }
}
