/* Shared foundation and the accepted homepage identity. */
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    background:#070707;
    color:#f4f4f4;
    font-family:Arial,sans-serif
}
a {
    color:inherit;
    text-decoration:none
}
.wrap {
    width:min(1180px,calc(100% - 40px));
    margin:auto
}
/* Headers default to document flow; only the explicit homepage mode overlays. */
.site-header {
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #202020;
    position:relative;
    z-index:5;
    gap:24px
}
.site-header--overlay {
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:78px
}
.brand {
    font-weight:900;
    letter-spacing:.18em
}
.brand b,.eyebrow {
    color:#df1e26
}
.menu {
    display:flex;
    gap:28px;
    font-size:13px;
    color:#ddd
}
.btn {
    display:inline-flex;
    padding:13px 20px;
    border:1px solid #444;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.08em
}
.btn.red {
    background:#d71920;
    border-color:#d71920
}
.hero {
    min-height:760px;
    display:flex;
    align-items:center;
    background:radial-gradient(circle at 75% 45%,#292929 0,#111 25%,#070707 58%);
    position:relative;
    overflow:hidden
}
.hero:after {
    content:'';
    position:absolute;
    width:330px;
    height:560px;
    right:12%;
    top:125px;
    background:linear-gradient(145deg,#333,#090909);
    border-radius:12px;
    box-shadow:-25px 25px 60px #000;
    transform:skewY(-4deg);
    opacity:.88
}
.eyebrow {
    text-transform:uppercase;
    letter-spacing:.25em;
    font-size:12px;
    font-weight:700
}
.hero h1 {
    font-size:clamp(50px,7vw,92px);
    line-height:.92;
    margin:18px 0 24px;
    max-width:800px;
    letter-spacing:-.05em
}
.hero p {
    max-width:600px;
    color:#aaa;
    font-size:18px;
    line-height:1.7
}
.actions {
    display:flex;
    gap:12px;
    margin-top:34px
}
.section {
    padding:90px 0;
    border-top:1px solid #171717
}
.section h2 {
    font-size:42px;
    margin:8px 0 36px
}
.grid3 {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.card {
    background:#101010;
    border:1px solid #202020;
    min-height:300px;
    padding:28px;
    position:relative;
    overflow:hidden
}
.card:after {
    content:'';
    position:absolute;
    width:150px;
    height:230px;
    background:linear-gradient(150deg,#343434,#0b0b0b);
    right:-10px;
    bottom:-25px;
    transform:rotate(8deg);
    box-shadow:-10px 15px 30px #000
}
.card small {
    color:#e1252b;
    text-transform:uppercase;
    letter-spacing:.15em
}
.card h3 {
    font-size:25px;
    max-width:210px;
    position:relative;
    z-index:2
}
/* Technology teasers reserve a separate right edge for the angled decoration. */
#teknoloji .grid3>.card {
    min-width:0;
    padding-right:88px;
    isolation:isolate;
    overflow-wrap:anywhere
}
#teknoloji .grid3>.card>* {
    position:relative;
    z-index:2
}
#teknoloji .grid3>.card:after {
    width:64px;
    height:140px;
    right:-12px;
    bottom:-18px;
    z-index:0;
    box-shadow:inset 8px 0 18px #000;
    pointer-events:none
}
.engineering {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center
}
.visual {
    min-height:420px;
    background:linear-gradient(135deg,#151515,#080808);
    border:1px solid #252525;
    position:relative
}
.visual:before,.visual:after {
    content:'';
    position:absolute;
    border-radius:50%;
    border:24px solid #222;
    box-shadow:0 0 0 2px #444 inset
}
.visual:before {
    width:220px;
    height:220px;
    left:60px;
    top:80px
}
.visual:after {
    width:90px;
    height:90px;
    right:70px;
    top:90px
}
.muted {
    color:#999;
    line-height:1.7
}
.footer {
    padding:45px 0;
    color:#777;
    border-top:1px solid #1d1d1d
}
.dev {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#d71920;
    text-align:center;
    padding:6px;
    font-size:11px;
    z-index:20
}
@media(max-width:800px) {
    .grid3,.engineering {
        grid-template-columns:1fr
    }
    #teknoloji .grid3>.card {
        padding-right:28px
    }
    #teknoloji .grid3>.card:after {
        display:none
    }
    .hero:after {
        opacity:.25;
        right:-150px
    }
    .hero h1 {
        font-size:54px
    }
}
/* Managed homepage photography is optional; the original fallback rules stay intact. */
.home-page .hero--image { background:#070707; padding:130px 0 90px; isolation:isolate; }
.home-page .hero--image:after { display:none; }
.home-page .hero--image:before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#070707ed 0%,#070707c9 40%,#07070759 100%),linear-gradient(180deg,#070707cc 0%,transparent 35%,#07070788 100%); }
.home-page .home-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.home-page .hero--image p { color:#dedede; }
.home-page .hero--image .btn { background:#070707cc; border-color:#777; }
.home-page .hero--image .btn.red { background:#d71920; border-color:#d71920; }
.home-page .hero--image .eyebrow { color:#ff6168; }
.home-page .category-card--image { padding:0 28px 28px; }
.home-page .category-card--image:after { display:none; }
.home-page .category-cover { display:block; width:calc(100% + 56px); max-width:none; height:auto; aspect-ratio:4/3; object-fit:cover; margin:0 -28px 24px; }
.home-page .category-card--image .muted { max-width:none; line-height:1.7; }
.home-page .category-card--image h3 { margin:16px 0; }
.home-page .technology-feature-image { margin:0; min-width:0; border:1px solid #252525; background:#101010; }
.home-page .technology-feature-image img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.home-page #teknoloji .grid3>.concept-card--image { padding:0 28px 28px; padding-right:28px; }
.home-page #teknoloji .grid3>.concept-card--image:after { display:none; }
.home-page #teknoloji .concept-image { display:block; width:calc(100% + 56px); max-width:none; height:auto; aspect-ratio:4/3; object-fit:cover; margin:0 -28px 24px; }
.home-page #teknoloji .concept-card--image h3 { max-width:none; }
.home-page #teknoloji .concept-card--image p { line-height:1.7; }
/* Shared two-line title region keeps concept descriptions aligned without changing typography. */
.home-page #teknoloji .grid3>.card h3 { min-height:2lh; }
.home-page #teknoloji .engineering>* { min-width:0; }
.home-page #projeler .project-card .product-stage img { padding:0; object-fit:cover; }
@media(max-width:800px) {
    .home-page .hero--image { padding:150px 0 72px; }
    .home-page .hero--image:before { background:linear-gradient(90deg,#070707ed,#070707b3),linear-gradient(180deg,#070707cc,transparent 50%,#07070788); }
}
/* Phones keep one Technology photograph, followed by compact editorial concepts. */
@media(max-width:560px) {
    .home-page #teknoloji .grid3 { gap:12px; margin-top:24px; }
    .home-page #teknoloji .grid3>.card { min-height:0; padding:20px; padding-right:20px; }
    .home-page #teknoloji .grid3>.card>.concept-image { display:none; }
    .home-page #teknoloji .grid3>.card h3 { min-height:0; max-width:none; margin:0 0 12px; }
    .home-page #teknoloji .grid3>.card p { margin:0; }
}
/* Public catalog — the existing homepage identity remains the foundation. */
:root {
    --mush-red:#df1e26
}
/* Corporate content and contact reuse the accepted public typography and spacing. */
.corporate-page { padding-top:64px; padding-bottom:80px; }
.corporate-heading { max-width:880px; margin-bottom:48px; }
.corporate-heading h1 { font-size:clamp(36px,5vw,64px); line-height:1.06; letter-spacing:-.04em; margin:12px 0 24px; overflow-wrap:anywhere; }
.corporate-intro { color:#c7c7c7; font-size:clamp(18px,2vw,22px); line-height:1.65; overflow-wrap:anywhere; }
.corporate-body { max-width:880px; margin-bottom:40px; color:#b8b8b8; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.contact-details,.contact-form-panel { min-width:0; }
.contact-details h2,.contact-form-panel h2 { font-size:22px; margin-bottom:28px; }
.contact-details dl { margin:0 0 32px; }
.contact-details dl>div { padding:20px 0; border-bottom:1px solid #262626; }
.contact-details dt { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#999; margin-bottom:8px; }
.contact-details dd { margin:0; line-height:1.7; overflow-wrap:anywhere; }
.contact-form-panel { padding:32px; border:1px solid #2a2a2a; background:#101010; }
.contact-form { display:grid; gap:20px; }
.contact-field { display:grid; gap:8px; min-width:0; }
.contact-field label { font-size:13px; font-weight:600; }
.contact-field input,.contact-field textarea { width:100%; min-width:0; min-height:48px; border:1px solid #454545; border-radius:4px; padding:12px 14px; background:#191919; color:#f2f2f2; font:inherit; font-size:15px; }
.contact-field textarea { resize:vertical; line-height:1.6; min-height:150px; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible { outline:2px solid #ff6168; outline-offset:3px; border-color:#ff6168; }
.contact-field [aria-invalid=true] { border-color:#ff7178; }
.contact-field-error { color:#ffb3b8; font-size:12px; overflow-wrap:anywhere; }
.contact-help { margin:0; color:#a3a3a3; font-size:12px; line-height:1.7; }
.contact-form .btn { justify-self:start; font:inherit; cursor:pointer; min-height:48px; }
.contact-notice { padding:16px; margin-bottom:24px; background:#291519; border:1px solid #733238; color:#ffc0c4; overflow-wrap:anywhere; }
.contact-notice p { margin:0; }
.contact-notice ul { padding-left:20px; margin-bottom:0; }
.contact-notice a { text-decoration:underline; }
.contact-success { background:#11231a; border-color:#356346; color:#bfe6cf; }
.contact-honeypot { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.footer-content { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px 40px; }
.footer-content>div { min-width:0; max-width:620px; overflow-wrap:anywhere; }
.footer-content p { margin:0 0 8px; }
.footer-copyright a, .footer-credit a { color:#ddd; text-decoration:underline; text-underline-offset:3px; }
.footer-copyright a:hover, .footer-credit a:hover { color:#fff; }
.footer-contact { display:flex; flex-direction:column; gap:8px; }
.footer-social { display:flex; flex-wrap:wrap; gap:16px; }
@media(max-width:900px) { .contact-layout { grid-template-columns:minmax(0,1fr); gap:40px; } }
@media(max-width:560px) { .corporate-page { padding-top:40px; padding-bottom:56px; } .corporate-heading { margin-bottom:32px; } .contact-form-panel { padding:20px; } .contact-form .btn { justify-self:stretch; } }
/* Contact density applies inside the canonical page shell, never to its hero. */
@media(min-width:901px) {
    .contact-page .contact-details { padding-top:24px; }
    .contact-page .contact-details h2,.contact-page .contact-form-panel h2 { margin:0 0 20px; }
    .contact-page .contact-form-panel { padding:24px; }
    .contact-page .contact-form { gap:16px; }
}
/* Projects' accepted catalog-hero/wrap geometry is the corporate page shell. */
.corporate-hero { display:grid; grid-template-rows:minmax(14px,auto) auto auto; }
.corporate-hero>.eyebrow { grid-row:1; margin:0; overflow-wrap:anywhere; }
.corporate-hero>h1 { grid-row:2; overflow-wrap:anywhere; }
.corporate-hero>.corporate-hero-intro { grid-row:3; margin:0; max-width:880px; color:#aaa; font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.corporate-hero-intro>p { margin:0 0 16px; }
.corporate-hero-intro>p:last-child { margin-bottom:0; }
.corporate-content { padding-bottom:80px; }
.corporate-section { max-width:1040px; padding:32px 0; border-bottom:1px solid #252525; overflow-wrap:anywhere; }
.corporate-section h2 { margin:0 0 24px; font-size:clamp(24px,3vw,34px); line-height:1.2; }
.corporate-section p { max-width:880px; color:#b8b8b8; font-size:17px; line-height:1.85; margin:0 0 20px; }
.corporate-section .corporate-statement,.corporate-statement { max-width:880px; color:#f4f4f4; font-size:clamp(20px,2.5vw,26px); line-height:1.5; margin:24px 0; }
.corporate-signature { padding:32px 0; color:#b8b8b8; overflow-wrap:anywhere; }
.corporate-signature p { margin:0 0 12px; }
.application-areas { list-style:none; padding:0; margin:0 0 28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; }
.application-areas li { padding:16px 0; border-bottom:1px solid #303030; line-height:1.6; min-width:0; overflow-wrap:anywhere; }
.founder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
.founder-profile { min-width:0; }
.founder-photo { display:block; width:100%; max-width:420px; height:auto; aspect-ratio:4/5; object-fit:cover; margin-bottom:24px; }
.founder-profile h3 { font-size:24px; margin:0 0 12px; }
.founder-profile .founder-role { color:#f4f4f4; font-size:14px; }
.technology-content .corporate-section { max-width:none; }
.technology-section { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:64px; align-items:start; }
.technology-section>header,.technology-copy { min-width:0; }
@media(max-width:900px) { .founder-grid,.application-areas { grid-template-columns:minmax(0,1fr); } }
@media(max-width:900px) { .technology-section { grid-template-columns:minmax(0,1fr); gap:16px; } }
@media(max-width:560px) { .corporate-section { padding:24px 0; } .corporate-content { padding-bottom:56px; } }
button {
    font:inherit
}
a:focus-visible,button:focus-visible {
    outline:2px solid #fff;
    outline-offset:5px
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0
}
/* Off-canvas without removing keyboard focusability or reserving layout space. */
.skip-link {
    position:fixed;
    top:0;
    left:20px;
    z-index:100;
    background:#fff;
    color:#070707;
    padding:12px 18px;
    transform:translateY(calc(-100% - 16px));
    clip-path:inset(50%);
    pointer-events:none
}
.skip-link:focus,.skip-link:focus-visible {
    transform:translateY(12px);
    clip-path:none;
    pointer-events:auto
}
/* Inner-page shell and homepage catalogue navigation. */
.site-header--solid {
    position:relative;
    height:auto;
    min-height:84px;
    padding-block:22px
}
.catalog-page .wrap {
    width:min(1320px,calc(100% - 48px))
}
.catalog-page main {
    display:flow-root
}
.section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:36px
}
.section-heading>div {
    min-width:0;
    flex:1
}
.section-heading h2 {
    margin:8px 0 0
}
.catalog-cta {
    flex-shrink:0;
    max-width:100%;
    align-items:center;
    gap:16px
}
.catalog-page .footer {
    margin-top:0
}
.footer {
    padding-bottom:65px
}
.menu a[aria-current=page] {
    color:#fff;
    border-bottom:2px solid var(--mush-red);
    padding-bottom:6px
}
/* Catalogue hero, filters and cards. */
.catalog-hero {
    padding:48px 0 34px;
    margin-bottom:28px;
    border-bottom:1px solid #252525
}
.catalog-hero h1 {
    font-size:clamp(44px,5vw,68px);
    letter-spacing:-.045em;
    line-height:1;
    margin:18px 0 20px
}
.catalog-hero>p {
    font-size:18px;
    color:#aaa;
    line-height:1.7;
    max-width:650px;
    margin:0
}
.catalog-list {
    padding-bottom:80px
}
.catalog-filters {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:0 0 32px;
    margin-bottom:32px;
    border-bottom:1px solid #252525
}
.catalog-filters a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    background:#121212;
    border:1px solid #303030;
    border-radius:999px;
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
    max-width:100%
}
.catalog-filters a[aria-current=page] {
    color:#fff;
    border-color:var(--mush-red);
    background:#291013;
    font-weight:700
}
.catalog-filters a[aria-current=page]:before {
    content:'✓';
    flex-shrink:0
}
.product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px
}
.product-card {
    min-width:0;
    border:1px solid #252525;
    background:#0d0d0d;
    display:flex;
    flex-direction:column;
    transition:border-color .2s
}
.product-card:hover {
    border-color:#666
}
.product-stage {
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:radial-gradient(ellipse at 50% 35%,#262626,#111 75%);
    aspect-ratio:4/3;
    overflow:hidden
}
.product-stage img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    max-width:100%;
    padding:22px
}
.product-card-copy {
    display:flex;
    flex-direction:column;
    flex:1;
    padding:26px;
    overflow-wrap:anywhere
}
.product-card-copy .eyebrow {
    font-size:10px;
    letter-spacing:.15em;
    margin:0 0 12px;
    line-height:1.6
}
.product-card h3 {
    font-size:26px;
    line-height:1.2;
    margin:0 0 10px;
    letter-spacing:-.025em
}
.product-model {
    color:#b4b4b4;
    font-size:13px;
    letter-spacing:.06em;
    margin:0 0 15px;
    overflow-wrap:anywhere
}
.product-card .muted {
    font-size:14px;
    margin:0 0 24px
}
.product-link {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    text-transform:uppercase;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    margin-top:auto;
    padding-top:18px;
    border-top:1px solid #292929
}
.product-link>span[aria-hidden] {
    color:var(--mush-red);
    font-size:22px
}
.product-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:14px;
    aspect-ratio:4/3;
    width:100%;
    color:#666;
    background:repeating-linear-gradient(120deg,transparent,transparent 18px,#ffffff03 18px,#ffffff03 19px)
}
.product-placeholder>span {
    font-size:88px;
    line-height:1;
    font-weight:900;
    color:#333;
    letter-spacing:-.1em;
    padding-right:.1em
}
.product-placeholder>small {
    font-size:10px;
    letter-spacing:.3em
}
.catalog-empty {
    border:1px solid #252525;
    padding:52px 32px;
    background:linear-gradient(135deg,#151515,#090909)
}
.catalog-empty h3 {
    font-size:30px;
    margin:18px 0
}
.catalog-empty p {
    margin-bottom:0
}
.catalog-pagination {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
    margin-top:40px;
    font-size:13px;
    color:#bbb
}
.category-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow-wrap:anywhere
}
.category-card>* {
    position:relative;
    z-index:2
}
.category-card .product-link {
    max-width:230px
}
.category-card .muted {
    max-width:260px;
    font-size:14px
}
.category-card h3 {
    max-width:none
}
/* Product detail: header, then breadcrumb, then a bounded image stage. */
.breadcrumb {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    font-size:13px;
    color:#a4a4a4;
    margin-bottom:28px;
    line-height:1.7;
    overflow-wrap:anywhere
}
.breadcrumb [aria-current] {
    color:#eee
}
.breadcrumb a:hover {
    text-decoration:underline
}
.product-detail {
    padding:40px 0 80px
}
.product-intro {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:48px;
    align-items:start
}
.product-gallery,.product-summary {
    min-width:0
}
.product-main-stage {
    height:clamp(320px,calc(100vh - 250px),600px);
    max-height:600px;
    aspect-ratio:auto;
    border:1px solid #2b2b2b
}
.product-main-stage img {
    padding:32px
}
.product-main-stage .product-placeholder {
    height:100%;
    aspect-ratio:auto
}
.gallery-thumbnails {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(75px,1fr));
    gap:10px;
    margin-top:14px
}
.gallery-thumbnail {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:1;
    border:1px solid #333;
    background:#181818;
    padding:7px;
    cursor:pointer;
    position:relative
}
.gallery-thumbnail img {
    width:100%;
    height:100%;
    object-fit:contain
}
.gallery-thumbnail[aria-pressed=true] {
    border:2px solid var(--mush-red)
}
.gallery-thumbnail[aria-pressed=true]:after {
    content:'✓';
    position:absolute;
    right:2px;
    bottom:2px;
    background:#d71920;
    color:#fff;
    font-size:10px;
    line-height:16px;
    width:16px;
    text-align:center
}
.gallery-static {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding-top:14px;
    font-size:12px
}
.gallery-static a {
    text-decoration:underline
}
.product-summary>.eyebrow {
    line-height:1.8;
    font-size:11px;
    margin:0 0 20px;
    overflow-wrap:anywhere
}
.product-summary h1 {
    font-size:clamp(36px,4.2vw,58px);
    line-height:1.06;
    letter-spacing:-.035em;
    margin:0 0 16px;
    overflow-wrap:anywhere
}
.product-summary .product-model {
    font-size:15px;
    margin-bottom:26px
}
.product-short {
    color:#aaa;
    font-size:17px;
    line-height:1.8;
    overflow-wrap:anywhere
}
.product-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:32px
}
.product-actions .btn {
    align-items:center;
    gap:18px;
    line-height:1.5
}
.document-name {
    font-size:11px;
    color:#999;
    line-height:1.6;
    overflow-wrap:anywhere;
    margin-top:15px
}
.product-section {
    margin-top:56px;
    padding-top:32px;
    border-top:1px solid #2b2b2b
}
.product-section h2 {
    font-size:19px;
    letter-spacing:.12em;
    margin:0 0 28px;
    line-height:1.6
}
.product-description {
    max-width:850px;
    font-size:16px;
    color:#aaa;
    line-height:1.9;
    overflow-wrap:anywhere
}
.spec-list {
    margin:0
}
.spec-list>div {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
    gap:28px;
    padding:20px 24px;
    border-bottom:1px solid #292929;
    line-height:1.7
}
.spec-list>div:nth-child(odd) {
    background:#111
}
.spec-list dt {
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#aaa;
    overflow-wrap:anywhere
}
.spec-list dd {
    font-size:15px;
    margin:0;
    overflow-wrap:anywhere
}
.public-message {
    padding:90px 0 110px;
    min-height:65vh
}
.public-message h1 {
    font-size:clamp(36px,5vw,60px);
    letter-spacing:-.04em
}
.public-message p {
    max-width:550px;
    margin-bottom:32px
}
.public-message .btn {
    margin:0 8px 12px 0
}
/* Responsive component rules. */
@media(max-width:1000px) {
    .menu {
        gap:18px
    }
    .product-intro {
        gap:32px
    }
    .product-grid {
        gap:18px
    }
}
@media(max-width:900px) {
    .product-intro {
        grid-template-columns:1fr;
        gap:32px;
        align-items:start
    }
    .product-main-stage {
        height:clamp(280px,60vw,520px);
        max-height:520px
    }
    .product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .product-summary h1 {
        font-size:44px
    }
}
@media(max-width:800px) {
    .site-header {
        height:auto;
        min-height:78px;
        flex-wrap:wrap;
        padding-block:20px;
        gap:18px
    }
    .catalog-page .wrap {
        width:calc(100% - 40px)
    }
    .section-heading {
        flex-direction:column;
        align-items:flex-start;
        gap:20px
    }
    .menu {
        display:flex;
        flex-wrap:wrap;
        order:3;
        width:100%;
        gap:12px 20px;
        font-size:12px
    }
    .site-header>.btn {
        padding:10px 12px
    }
    .hero h1 {
        font-size:clamp(40px,7vw,54px)
    }
    .actions {
        flex-wrap:wrap
    }
    .catalog-hero {
        padding:36px 0 28px
    }
    .catalog-hero>p {
        font-size:16px
    }
    .category-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .section h2 {
        font-size:34px
    }
    .visual:before {
        left:8%;
        width:180px;
        height:180px
    }
    .visual:after {
        right:8%
    }
    .product-stage img {
        padding:18px
    }
}
@media(max-width:560px) {
    .product-grid,.category-grid {
        grid-template-columns:1fr
    }
    .catalog-filters {
        gap:8px;
        padding-bottom:24px;
        margin-bottom:24px
    }
    .catalog-filters a {
        padding:10px 12px
    }
    .product-detail {
        padding-top:28px
    }
    .product-main-stage {
        height:clamp(260px,80vw,380px);
        max-height:380px
    }
    .breadcrumb {
        margin-bottom:24px
    }
    .product-summary h1 {
        font-size:38px
    }
    .product-short {
        font-size:16px
    }
    .product-section {
        margin-top:40px
    }
    .product-section h2 {
        font-size:16px
    }
    .spec-list>div {
        grid-template-columns:1fr;
        gap:4px;
        padding:16px
    }
    .gallery-thumbnails {
        grid-template-columns:repeat(auto-fill,minmax(64px,1fr))
    }
    .product-actions .btn {
        width:100%;
        justify-content:space-between
    }
    .catalog-list {
        padding-bottom:52px
    }
    .catalog-empty {
        padding:32px 24px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    .product-card {
        transition:none
    }
}
/* FAZ7: catalog presentation only; shared homepage/project components retain their layout. */
.catalog-experience .catalog-hero { padding:64px 0 48px; }
.catalog-experience .catalog-hero h1 { overflow-wrap:anywhere; }
.catalog-experience .catalog-hero p { font-size:18px; color:#aaa; line-height:1.7; margin:0; max-width:660px; overflow-wrap:anywhere; }
.catalog-experience .catalog-category-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:56px; }
.catalog-experience .catalog-category-image { margin:0; min-width:0; aspect-ratio:16/10; overflow:hidden; background:#111; border:1px solid #292929; }
.catalog-experience .catalog-category-image img { display:block; width:100%; height:100%; object-fit:cover; }
.catalog-experience .catalog-category-context { padding:48px 0 40px; min-width:0; }
.catalog-experience .catalog-category-context>div { min-width:0; }
.catalog-experience .catalog-category-context h1 { font-size:clamp(36px,3.5vw,54px); }
.catalog-experience .catalog-category-context .catalog-category-image { max-height:320px; }
.catalog-experience .catalog-category-description { white-space:pre-line; line-height:1.8; }
.catalog-experience .catalog-families { padding-bottom:64px; }
.catalog-experience .catalog-section-heading { margin-bottom:28px; }
.catalog-experience .catalog-section-heading h2 { font-size:clamp(24px,2.5vw,34px); line-height:1.3; margin:12px 0 0; letter-spacing:-.025em; }
.catalog-experience .catalog-family-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; }
.catalog-experience .catalog-family-card { display:flex; flex-direction:column; min-width:0; background:#111; border:1px solid #292929; }
.catalog-experience .catalog-family-card:hover { border-color:#666; }
.catalog-experience .catalog-family-visual { aspect-ratio:16/10; max-height:320px; overflow:hidden; background:#171717; }
.catalog-experience .catalog-family-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.catalog-experience .catalog-family-fallback { display:grid; place-items:center; background:radial-gradient(ellipse at 70% 35%,#252525,#111 70%); }
.catalog-experience .catalog-family-fallback span { width:36%; aspect-ratio:1; border:1px solid #444; border-radius:50%; box-shadow:0 0 0 18px #ffffff03,0 0 0 36px #ffffff02; }
.catalog-experience .catalog-family-copy { padding:28px; }
.catalog-experience .catalog-family-copy h3 { font-size:26px; line-height:1.25; margin:0 0 16px; overflow-wrap:anywhere; }
.catalog-experience .catalog-family-copy p { line-height:1.8; margin:0 0 24px; overflow-wrap:anywhere; }
.catalog-experience .catalog-family-grid--single .catalog-family-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.catalog-experience .catalog-family-grid--single .catalog-family-visual { max-height:none; }
.catalog-experience .catalog-family-grid--single .catalog-family-copy { padding:40px; }
.catalog-experience .catalog-list>h2 { font-size:24px; margin:0 0 24px; line-height:1.4; overflow-wrap:anywhere; }
.catalog-experience .product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.catalog-experience .product-card { max-width:640px; width:100%; }
.product-experience .product-intro { gap:64px; align-items:center; }
.product-experience .product-main-stage { background:radial-gradient(ellipse at 50% 45%,#232323,#101010 75%); border-color:#303030; }
.product-experience .product-summary h1 { font-size:clamp(40px,4.6vw,72px); line-height:1.04; }
.product-experience .product-summary>.eyebrow { color:#bbb; }
.product-experience .product-model { color:#ccc; letter-spacing:.08em; }
.product-experience .product-short { color:#bbb; }
.product-experience .product-section { margin-top:72px; padding-top:40px; scroll-margin-top:100px; }
.product-experience .product-section h2 { font-size:22px; letter-spacing:.04em; overflow-wrap:anywhere; }
.product-experience .product-description { font-size:17px; max-width:900px; }
.product-experience .spec-list { max-width:1100px; border-top:1px solid #292929; }
.product-experience .spec-list>div { grid-template-columns:minmax(0,1fr) minmax(0,2fr); padding:22px 24px; }
.product-experience .spec-list dt { font-size:13px; text-transform:none; letter-spacing:.02em; }
.product-experience .spec-list dd { font-size:16px; }
.product-experience .product-datasheet { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; }
.product-experience .product-datasheet>div { min-width:0; flex:1 1 300px; }
.product-experience .product-datasheet h2 { margin:12px 0; }
.product-experience .product-contact { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; margin-top:72px; padding:40px; border:1px solid #303030; border-top:2px solid var(--mush-red); background:#111; }
.product-experience .product-contact h2 { font-size:clamp(24px,2.5vw,34px); line-height:1.3; margin:12px 0 16px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.product-experience .product-contact p { line-height:1.8; }
@media(max-width:900px) {
    .product-experience .product-intro { grid-template-columns:minmax(0,1fr); gap:36px; }
    .product-experience .product-contact { grid-template-columns:minmax(0,1fr); gap:24px; }
    .product-experience .product-contact>.btn { justify-self:start; }
    .catalog-experience .catalog-category-hero { gap:28px; }
}
@media(max-width:560px) {
    .catalog-experience .catalog-hero { padding:36px 0 32px; }
    .catalog-experience .catalog-category-context { padding:32px 0 28px; }
    .catalog-experience .catalog-category-hero { grid-template-columns:minmax(0,1fr); }
    .catalog-experience .catalog-families { padding-bottom:40px; }
    .catalog-experience .catalog-family-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .catalog-experience .catalog-family-grid--single .catalog-family-card { grid-template-columns:minmax(0,1fr); }
    .catalog-experience .catalog-family-grid--single .catalog-family-copy,.catalog-experience .catalog-family-copy { padding:24px; }
    .catalog-experience .product-grid { grid-template-columns:minmax(0,1fr); }
    .product-experience .product-summary h1 { font-size:40px; }
    .product-experience .product-section { margin-top:44px; padding-top:28px; }
    .product-experience .spec-list>div { grid-template-columns:minmax(0,1fr); gap:6px; padding:18px 16px; }
    .product-experience .product-datasheet>.btn { width:100%; justify-content:space-between; }
    .product-experience .product-contact { padding:24px; margin-top:44px; }
    .product-experience .product-contact>.btn { width:100%; justify-content:space-between; }
}

/* Editorial Blog only: accepted product/project/corporate layouts retain their rules. */
.blog-page .blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.blog-page .blog-card { min-width:0; }
.blog-page .blog-card-cover { display:grid; place-items:center; aspect-ratio:16/9; overflow:hidden; background:radial-gradient(ellipse at 40% 30%,#272222,#111 75%); }
.blog-page .blog-card-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.blog-page .blog-card-cover>.eyebrow { color:#aaa; }
.blog-page .blog-card h2 { font-size:26px; line-height:1.25; letter-spacing:-.025em; margin:0 0 16px; overflow-wrap:anywhere; }
.blog-page .blog-card .product-link { margin-top:auto; }
.blog-page.blog-article { max-width:1040px; padding-block:48px 72px; }
.blog-page .blog-article-heading { max-width:800px; margin:40px auto 32px; }
.blog-page .blog-article-heading h1 { font-size:clamp(36px,4.5vw,64px); line-height:1.1; letter-spacing:-.04em; margin:16px 0 24px; overflow-wrap:anywhere; }
.blog-page .blog-excerpt { font-size:20px; line-height:1.7; color:#c7c7c7; overflow-wrap:anywhere; }
.blog-page .blog-article-cover { margin:0 0 40px; background:#111; }
.blog-page .blog-article-cover img { display:block; width:100%; height:auto; max-height:640px; object-fit:contain; }
.blog-page .blog-body { max-width:760px; margin-inline:auto; font-size:18px; line-height:1.85; color:#b8b8b8; overflow-wrap:anywhere; }
.blog-page .blog-body p { margin:0 0 24px; }
.blog-page .blog-body h2 { font-size:28px; line-height:1.3; color:#fff; margin:44px 0 20px; overflow-wrap:anywhere; }
.blog-page .blog-article-actions { display:flex; flex-wrap:wrap; gap:16px; max-width:760px; margin:48px auto 0; padding-top:28px; border-top:1px solid #252525; }
/* Quote presentation is isolated from existing contact/catalog sections. */
.quote-page { max-width:1120px; }
.quote-page button.btn { background:#111; color:#fff; border-color:#444; font:inherit; cursor:pointer; }
.quote-page button.btn.red { background:#d71920; border-color:#d71920; }
.quote-page .quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.quote-page .quote-products { margin:12px 0; padding:24px; min-width:0; border:1px solid #2b2b2b; background:#111; }
.quote-page .quote-products legend { padding:0 8px; font-size:20px; }
.quote-page .quote-row { display:grid; grid-template-columns:64px minmax(0,1fr) 100px auto; gap:16px; align-items:end; margin:20px 0; min-width:0; }
.quote-page .quote-row-open { position:relative; z-index:11; }
.quote-page .quote-thumbnail { display:block; width:64px; height:64px; object-fit:contain; background:#191919; border:1px solid #303030; }
.quote-page .quote-fallback { display:grid; place-items:center; font-size:24px; color:#df1e26; }
.quote-page .quote-row .contact-field { margin:0; min-width:0; }
.quote-page .contact-field select { width:100%; min-width:0; min-height:48px; padding:12px 14px; background:#191919; color:#f2f2f2; border:1px solid #454545; border-radius:4px; font:inherit; font-size:15px; }
.quote-page .contact-field select:focus-visible { outline:2px solid #ff6168; outline-offset:3px; }
.quote-page .quote-row .btn { min-height:48px; max-width:100%; overflow-wrap:anywhere; }
.quote-page .quote-combobox { position:relative; min-width:0; }
.quote-page .quote-options { position:absolute; z-index:10; top:100%; left:0; right:0; max-height:min(320px,45vh); overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; background:#171717; border:1px solid #555; }
.quote-page .quote-options [role="option"] { display:flex; align-items:center; gap:12px; padding:12px; cursor:pointer; overflow-wrap:anywhere; }
.quote-page .quote-options [aria-selected="true"] { background:#342020; outline:2px solid #df1e26; outline-offset:-2px; }
.quote-page .quote-options .quote-thumbnail { flex:0 0 48px; width:48px; height:48px; }
.quote-page [hidden] { display:none!important; }
@media(max-width:800px) {
    .quote-page .quote-row { grid-template-columns:64px minmax(0,1fr) 90px; }
    .quote-page .quote-row .btn { grid-column:2 / -1; justify-self:start; }
}
@media(max-width:560px) {
    .quote-page .quote-fields { grid-template-columns:minmax(0,1fr); }
    .quote-page .quote-products { padding:16px; }
    .quote-page .quote-row { grid-template-columns:48px minmax(0,1fr); gap:12px; padding-bottom:20px; border-bottom:1px solid #2b2b2b; }
    .quote-page .quote-row-open { align-items:start; }
    .quote-page .quote-row-open [data-quote-preview] { margin-top:24px; }
    .quote-page .quote-options { position:static; }
    .quote-page .quote-row .quote-thumbnail { width:48px; height:48px; }
    .quote-page .quote-quantity { grid-column:2; }
    .quote-page .quote-row .btn { grid-column:2; }
}
@media(max-width:320px) {
    .quote-page .quote-row { grid-template-columns:minmax(0,1fr); }
    .quote-page .quote-quantity,.quote-page .quote-row .btn { grid-column:1; }
}
@media(max-width:900px) {
    .blog-page .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
    .blog-page .blog-grid { grid-template-columns:minmax(0,1fr); }
    .blog-page.blog-article { padding-block:28px 48px; }
    .blog-page .blog-article-heading { margin-top:28px; }
    .blog-page .blog-body { font-size:17px; }
    .blog-page .blog-article-actions { flex-direction:column; align-items:stretch; }
}
