/* V30: distinct product, feature, engineering and literature chapters.
   The relief identity and intrinsic cabinet geometry remain unchanged. */
:root { --gold:#936e35; --gold-bright:#bea371; --graphite:#282d2b; }
.icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.hero h1>span { color:#806130; text-shadow:-1px -1px 0 #ffffffe6,1px 2px 0 #ffffffe6,3px 5px 5px #51412735,8px 12px 18px #51412715; }
.hero-specs>div:first-child strong { color:#82612e; }
.stage-sculpture { position:absolute; z-index:-2; width:72%; height:87%; top:5%; left:14%; overflow:hidden; border-radius:48% 48% 4px 4px; background:linear-gradient(132deg,#ffffff65 10%,#ffffff12 45%,#d4d4c82e 76%,#ffffff70); box-shadow:inset 1px 1px 0 #fff9,inset -2px -1px 3px #6c665019,14px 20px 40px #716f5809; }
.stage-sculpture>span { position:absolute; width:130%; height:1px; background:linear-gradient(90deg,transparent,#b79b6266,transparent); top:31%; left:-15%; transform:rotate(-35deg); box-shadow:0 1px 0 #fff8; }
.hero-bottom { padding-bottom:34px; }
.model-selector button[aria-pressed=true] { background:linear-gradient(180deg,#bba07116,transparent); }
.model-selector button[aria-pressed=true]>span { color:#82612e; }
.model-selector button::before { height:3px; background:linear-gradient(90deg,#88652f,#c4b18b); }
.product-nav>.wrap>div { gap:24px; }
.features-section { padding:85px 0 86px; background:linear-gradient(180deg,#ffffff24,#f5f4ef9c); }
.features-heading,.system-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; }
.features-heading .chapter,.system-heading .chapter,.spec-heading .chapter,.download-copy .chapter { margin-bottom:18px; }
.features-heading h2>span { color:#806130; }
.features-heading>p,.system-heading>p { color:#60665c; font-size:16px; line-height:1.85; max-width:490px; padding-bottom:3px; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:60px; }
.feature-item { padding:0 32px 4px; border-left:1px solid #625a4226; box-shadow:-1px 0 0 #ffffffa6; }
.feature-item:first-child { padding-left:0; border:0; box-shadow:none; }
.feature-item:last-child { padding-right:0; }
.feature-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:24px; }
.feature-icon { width:66px; height:66px; flex-shrink:0; display:flex; justify-content:center; align-items:center; border-radius:50%; color:#fff9e8; border:1px solid #d6c8a4; background:linear-gradient(145deg,#d1bc8c 0%,#ad8c4d 49%,#89672f 100%); box-shadow:inset 1px 2px 1px #fff9, inset -1px -2px 2px #523a253b,4px 7px 9px #493f2d30,-3px -3px 5px #fff9; }
.feature-icon svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 1px 1px #4f391566); }
.feature-index { font-size:10px; letter-spacing:.11em; color:#7a776c; }
.feature-item h3 { font-size:22px; line-height:1.3; font-weight:550; letter-spacing:-.025em; color:#343a34; text-shadow:0 1px #fff,2px 3px 3px #34372f18; }
.feature-item>p { margin-top:15px; font-size:14px; line-height:1.75; color:#62665f; min-height:74px; max-width:280px; }
.feature-metric { display:flex; align-items:center; gap:12px; border-top:1px solid #776b5129; box-shadow:0 -1px #fff9; padding-top:22px; margin-top:23px; }
.feature-metric strong { color:#876330; font-size:35px; font-weight:500; line-height:1.25; letter-spacing:-.04em; white-space:nowrap; text-shadow:0 1px #fff,2px 3px 3px #8466341c; }
.feature-metric>span { font-size:10px; line-height:1.6; color:#686b63; }
.metric-words { flex-direction:column; align-items:start; gap:3px; }
.metric-words strong { font-size:29px; letter-spacing:-.025em; }
.feature-item.reveal.is-seen { animation-duration:.8s; }
.feature-item:nth-child(2).is-seen { animation-delay:.08s; }
.feature-item:nth-child(3).is-seen { animation-delay:.16s; }
.feature-item:nth-child(4).is-seen { animation-delay:.24s; }
.feature-item.is-seen .feature-icon { animation:medallion-enter 1s var(--ease) both; }
@keyframes medallion-enter { from { transform:translateY(9px); opacity:.4; } to { transform:translateY(0); opacity:1; } }
.range-section { padding-top:92px; }
.range-name small { color:#7c715d; }
.system-section { padding:60px 0 76px; background:linear-gradient(180deg,#ffffff1a,#e6e4dc66); }
.system-composition { border-top:1px solid #6a67552e; box-shadow:0 -1px #fff9; padding-top:66px; }
.connection-map { display:grid; grid-template-columns:1.25fr .65fr 1.35fr .65fr 1.25fr; align-items:center; max-width:1180px; margin:60px auto 0; min-height:230px; }
.map-sources { display:grid; gap:42px; }
.map-node { display:flex; align-items:center; gap:20px; }
.map-node>svg { width:48px; height:48px; flex-shrink:0; fill:none; stroke:#8e703c; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 2px 0 #fff); }
.map-node>span { font-size:17px; line-height:1.4; font-weight:500; color:#41483e; }
.map-node small { display:block; margin-top:8px; color:#74766d; font-size:11px; font-weight:400; white-space:nowrap; }
.map-core { display:flex; flex-direction:column; align-items:center; padding:22px 10px; color:#343a34; border-top:1px solid #c5b083; border-bottom:1px solid #c5b083; background:linear-gradient(135deg,#fff8,#e4dfd233); box-shadow:0 1px #fff,inset 0 1px #fff; }
.map-core>svg { width:66px; height:85px; fill:none; stroke:#6f5b36; stroke-width:1.15; stroke-linejoin:round; filter:drop-shadow(1px 2px 0 #fff); }
.map-core strong { margin-top:9px; font-size:18px; font-weight:600; letter-spacing:.12em; }
.map-core>span { font-size:10px; margin-top:5px; color:#73766c; }
.map-path { height:1px; position:relative; background:#a58c5c88; box-shadow:0 1px #fff9; }
.path-in { height:110px; background:none; border:1px solid #a58c5c88; border-left:0; border-right:0; box-shadow:none; }
.path-in::after { content:""; position:absolute; top:0; bottom:0; right:0; width:1px; background:#a58c5c88; }
.map-path span { position:absolute; top:-1px; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,#9a722c,transparent); transform:scaleX(0); transform-origin:left; }
.path-in span:nth-child(2) { top:auto; bottom:-1px; }
.connection-map.is-seen .map-path span { animation:connection-draw 1.8s var(--ease) .2s both; }
.connection-map.is-seen .path-out span { animation-delay:.65s; }
@keyframes connection-draw { from{transform:scaleX(0)} to{transform:scaleX(1)} }
.map-load { justify-content:end; padding-left:18px; }
.map-caption { text-align:center; margin-top:25px; color:#808175; font-size:10px; letter-spacing:.06em; }
/* Specifications are a crisp inset technical surface, not text on rough stone. */
.spec-section { padding-bottom:90px; }
.spec-heading { margin-bottom:34px; }
.spec-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; color:#70746a; padding:0 0 17px; }
.spec-toolbar>span:first-child { display:flex; align-items:center; gap:9px; color:#4c5348; }
.spec-toolbar i { width:6px; height:6px; background:#b19255; border-radius:50%; }
.spec-scroll { border:1px solid #ccc9bd; border-radius:8px; box-shadow:0 1px 0 #fff,4px 8px 18px #3e392a0c; background:#fcfcfa; scrollbar-color:#ac905b #f2f1eb; }
.spec-table { background:#fff; font-size:13px; }
.spec-table th,.spec-table td { color:#4a5049; text-shadow:none; padding:17px 22px; border-color:#e4e4dc; transition:background .3s,color .3s; }
.spec-table th:first-child,.spec-table td:first-child { padding-left:25px; width:25%; }
.spec-table thead { background:#2d332f; }
.spec-table thead th { text-shadow:none; color:#f6f4eb; border-color:#4f554b; padding:19px 22px; }
.spec-table thead th:first-child { font-size:20px; letter-spacing:.035em; }
.spec-table thead th:first-child>span { font-size:11px; font-weight:400; letter-spacing:0; color:#c6cbbf; }
.spec-model { width:100%; min-height:64px; border:0; background:none; color:#f6f4eb; padding:2px; }
.spec-model strong { display:block; font-size:29px; font-weight:500; letter-spacing:-.03em; line-height:1.25; }
.spec-model strong small { font-size:12px; letter-spacing:0; }
.spec-model>span { display:block; font-size:11px; color:#c8cdbf; margin-top:6px; }
.spec-table thead .selected-col { background:#414639; color:#eed5a1; box-shadow:inset 0 -3px #c7a668; }
.spec-model[aria-pressed=true] { color:#e4c487; }
.spec-table tbody tr:not(.group-row):nth-child(odd) { background:#f3f4f0; }
.spec-table tbody tr:not(.group-row):nth-child(even) { background:#fff; }
.spec-table tbody tr:not(.table-cta) { box-shadow:none; }
.spec-table tbody th[scope=row] { font-weight:550; color:#353d35; }
.spec-table tbody td.selected-col { background:#b99a5921; color:#41371f; font-weight:550; }
.spec-table tbody tr.key-spec td { font-size:19px; letter-spacing:-.02em; }
.spec-table .group-row th { padding:13px 25px; color:#fbfaf3; background:linear-gradient(105deg,#755725,#81602c); text-shadow:none; font-size:13px; font-weight:600; letter-spacing:.04em; border-bottom:0; text-align:left; }
.spec-table .table-cta th,.spec-table .table-cta td { padding:22px; }
.spec-table .table-cta th { padding-left:25px; }
.table-cta a { color:#785926; border-color:#a89162; box-shadow:none; }
/* A real publication, shown as a document rather than another feature card. */
.downloads-section { padding:70px 0 100px; background:linear-gradient(180deg,#e7e5db36,#fffffc60); }
.download-composition { display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,9vw,160px); align-items:center; border-top:1px solid #736e5729; box-shadow:0 -1px #fff9; padding-top:66px; }
.document-stage { position:relative; min-height:475px; display:flex; align-items:center; justify-content:center; padding:20px 20px 50px; background:radial-gradient(ellipse at 50% 65%,#b9af9833,transparent 68%); }
.document-cover { position:relative; display:block; width:248px; max-width:75%; transform:rotate(-4deg); transition:transform .6s var(--ease); box-shadow:1px 1px 0 #ccc8bb,2px 2px 0 #fefdf8,3px 3px 0 #ccc8bb,13px 18px 20px #4b463526; }
.document-cover:hover,.document-cover:focus-visible { transform:rotate(0) translateY(-5px); }
.document-cover img { width:100%; height:auto; aspect-ratio:595/842; object-fit:contain; background:#fff; }
.document-preview-label { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; padding:11px 15px; font-size:11px; background:#282d2bed; color:#fffaf0; }
.document-stage-label { position:absolute; bottom:0; font-size:9px; letter-spacing:.18em; color:#7a796d; }
.download-copy>p:not(.chapter) { font-size:16px; line-height:1.8; margin-top:25px; color:#61675b; }
.document-meta { display:flex; align-items:center; gap:17px; border-top:1px solid #726b562e; box-shadow:0 -1px #fff9; padding-top:25px; margin-top:29px; }
.document-meta>svg { width:33px; height:40px; flex-shrink:0; fill:none; stroke:#93733d; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.document-meta h3 { font-size:17px; font-weight:500; color:#3d4538; line-height:1.5; }
.document-meta span { display:block; font-size:11px; color:#787c70; margin-top:6px; }
.download-actions { display:flex; align-items:center; gap:30px; margin-top:29px; }
.download-button { display:inline-flex; justify-content:space-between; align-items:center; gap:48px; min-height:52px; padding:14px 23px; color:#fbf8ee; font-size:13px; background:linear-gradient(140deg,#434b3d,#272e26); border:1px solid #646b5b; box-shadow:inset 0 1px #ffffff26,2px 4px 8px #343d2a1a; transition:background .25s,transform .25s; }
.download-button:hover { background:#4e5a43; transform:translateY(-2px); }
.download-button>span { color:#d3b57a; font-size:20px; }
@media(max-width:1190px) {
 .feature-item { padding-inline:22px; }
 .feature-index { font-size:8px; letter-spacing:.06em; }
 .feature-metric strong { font-size:29px; }
 .metric-words strong { font-size:25px; }
 .feature-item h3 { font-size:19px; }
 .feature-icon { width:57px;height:57px; }
 .feature-icon svg { width:31px;height:31px; }
 .map-node { gap:12px; }.map-node>span { font-size:15px; }.map-node small { font-size:10px;white-space:normal; }
 .download-composition { gap:55px; }
 .product-nav>.wrap>div { gap:18px; }
}
@media(max-width:900px) {
 .product-nav-title { display:none!important; }
 .product-nav>.wrap>div { width:100%;justify-content:space-between; }
 .feature-grid { grid-template-columns:1fr 1fr; gap:40px 0; }
 .feature-item { padding-inline:28px; }
 .feature-item:nth-child(3) { padding-left:0;border-left:0;box-shadow:none; }
 .feature-item>p { min-height:50px; }
 .feature-index { font-size:10px; }.feature-item h3 { font-size:22px; }
 .features-heading,.system-heading { gap:35px; }.features-heading>p,.system-heading>p { font-size:14px;max-width:300px; }
 .map-core>span { max-width:100px;text-align:center; }.map-node { flex-direction:column;align-items:start; }.map-load { align-items:center;text-align:center; }
 .spec-table th:first-child { position:sticky;left:0;z-index:2;background:inherit; }
 .spec-table tbody tr { background:#fff; }.spec-table tbody tr:nth-child(odd) { background:#f3f4f0; }
 .spec-table thead th:first-child { background:#2d332f; }.spec-table .group-row th { position:static; background:linear-gradient(105deg,#755725,#81602c); }
 .spec-table th:first-child { min-width:185px; }
 .spec-table .group-row th>span { display:inline-block;position:sticky;left:18px; }
 .download-composition { grid-template-columns:.9fr 1.1fr;gap:35px; }
 .document-cover { max-width:90%; }.document-stage { padding-inline:10px; }
 .download-actions { gap:20px; }.download-button { gap:20px; }
}
@media(max-width:650px) {
 .product-nav>.wrap { width:100%; overflow-x:auto; scrollbar-width:none; }
 .product-nav>.wrap>div { width:max-content; flex-shrink:0;gap:23px;padding:0 20px; }
 .product-nav a { white-space:nowrap; }
 .stage-sculpture { height:88%;top:1%;width:90%;left:5%; }
 .features-section { padding:62px 0; }.features-heading,.system-heading { display:block; }
 .features-heading>p,.system-heading>p { margin-top:22px; font-size:15px;max-width:100%; }
 .feature-grid { grid-template-columns:1fr; margin-top:35px;gap:0; }
 .feature-item,.feature-item:first-child,.feature-item:nth-child(3),.feature-item:last-child { padding:27px 0;border:0;border-top:1px solid #756d542c;box-shadow:0 -1px #fff9; }
 .feature-top { justify-content:start;gap:20px;margin-bottom:20px; }.feature-index { font-size:10px; }
 .feature-icon { width:58px;height:58px; }.feature-icon svg { width:32px;height:32px; }
 .feature-item>p { min-height:0;max-width:100%;font-size:14px; }
 .feature-metric { border:0;box-shadow:none;margin-top:12px;padding-top:0; }.feature-metric strong { font-size:34px; }
 .metric-words { flex-direction:row;align-items:center;gap:14px; }.metric-words strong { font-size:28px; }
 .range-section { padding-top:65px; }
 .system-section { padding:35px 0 55px; }.system-composition { padding-top:45px; }
 .connection-map { grid-template-columns:1fr 1fr;gap:24px;margin-top:35px; }
 .map-sources { display:contents; }.map-node { flex-direction:row;align-items:center;gap:10px; }.map-node>svg { width:34px;height:34px; }
 .map-node>span { font-size:13px; }.map-node small { font-size:9px;margin-top:5px; }
 .path-in { display:none; }.map-core { grid-column:1/-1; }.path-out { display:none; }
 .map-core>svg { width:60px;height:78px; }.map-core>span { max-width:none; }
 .map-load { grid-column:1/-1;justify-content:center;text-align:left;padding-left:0; }.map-caption { margin-top:18px; }
 .spec-heading { align-items:start;gap:22px; }.spec-heading .line-link { font-size:11px; }
 .spec-toolbar { align-items:start;font-size:10px;gap:15px; }.spec-toolbar>span:last-child { max-width:100px;text-align:right; }
 .spec-scroll { border-radius:5px; }.spec-table { min-width:870px; }
 .spec-table th:first-child { min-width:170px;width:170px; }.spec-table th,.spec-table td { padding:16px 18px; }
 .spec-table .group-row th { padding:13px 18px; }.spec-table th:first-child { padding-left:18px; }
 .spec-table tbody tr.key-spec td { font-size:17px; }.spec-model strong { font-size:25px; }
 .downloads-section { padding:40px 0 70px; }.download-composition { grid-template-columns:1fr;padding-top:45px;gap:35px; }
 .document-stage { min-height:390px;order:2;padding:10px 20px 45px; }.document-cover { width:218px;max-width:80%; }
 .download-copy h2 { font-size:34px; }.download-copy>p:not(.chapter) { font-size:15px; }
 .document-meta h3 { font-size:16px; }.document-meta span { font-size:10px; }
 .download-actions { gap:25px;flex-wrap:wrap; }
}
.motion-paused .feature-icon,.motion-paused .map-path span { animation:none!important; }
@media(max-width:370px) {
 .spec-table { min-width:710px;width:710px; }
 .spec-table th:first-child { min-width:120px;width:120px; }
 .spec-table th,.spec-table td { padding-inline:13px;font-size:11px; }
 .spec-table tbody tr.key-spec td { font-size:16px; }
 .spec-table thead th:first-child { font-size:17px; }
 .spec-table th:first-child { padding-left:14px; }
}
.motion-paused .map-path span { transform:scaleX(1); }
@media(prefers-reduced-motion:reduce) {
 .feature-icon,.map-path span { animation:none!important; }.map-path span { transform:scaleX(1); }
 .document-cover,.download-button { transition:none; }
}
