.public-hero { position: relative; overflow: hidden; padding: clamp(10rem, 17vw, 15rem) 0 clamp(5rem, 9vw, 8rem); background: radial-gradient(ellipse 52% 58% at 72% 26%, rgba(91, 111, 239, .2), transparent 70%), var(--background); }.public-hero h1 { max-width: 10ch; margin: 0; font-size: clamp(3.2rem, 7.1vw, 7.5rem); font-weight: 650; letter-spacing: -.08em; line-height: .9; }.public-hero p:not(.section-label) { max-width: 39rem; margin: 1.6rem 0 2rem; color: var(--text-secondary); font-size: clamp(1rem, 1.4vw, 1.18rem); }.public-page { min-height: 45vh; }.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.offer-card { display: flex; min-height: 25rem; flex-direction: column; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(26, 39, 72, .52), rgba(10, 15, 34, .68)); }.offer-card h2 { margin: auto 0 1rem; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.06em; line-height: .97; }.offer-card > p:not(.section-label) { margin: 0; color: var(--text-secondary); }.offer-card ul { margin: 1.5rem 0; padding: 0; list-style: none; color: var(--text-secondary); font-size: .87rem; }.offer-card li { padding: .5rem 0; border-top: 1px solid var(--border); }.text-link { margin-top: auto; color: var(--accent-cyan); font-weight: 700; font-size: .88rem; }.showcase-list { display: grid; gap: 0; border-top: 1px solid var(--border); }.showcase-list article { display: grid; grid-template-columns: minmax(8rem, .4fr) minmax(15rem, 1fr) minmax(14rem, .7fr); gap: 2rem; align-items: start; padding: clamp(2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--border); }.showcase-list span { color: var(--accent-cyan); font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }.showcase-list h2 { max-width: 15ch; margin: 0; font-size: clamp(1.9rem, 3.4vw, 3.6rem); letter-spacing: -.065em; line-height: .96; }.showcase-list p { max-width: 28rem; margin: 0; color: var(--text-secondary); }.faq-page-list { max-width: 54rem; }.faq-page-list details { border-top: 1px solid var(--border); }.faq-page-list details:last-child { border-bottom: 1px solid var(--border); }.faq-page-list summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; color: var(--text-primary); cursor: pointer; font-size: 1.05rem; font-weight: 650; list-style: none; }.faq-page-list summary::after { color: var(--accent-cyan); content: "+"; font-size: 1.35rem; }.faq-page-list details[open] summary::after { content: "−"; }.faq-page-list p { max-width: 44rem; margin: 0; padding: 0 0 1.25rem; color: var(--text-secondary); }
@media (max-width: 760px) { .offer-grid { grid-template-columns: 1fr; }.offer-card { min-height: 19rem; }.showcase-list article { grid-template-columns: 1fr; gap: 1rem; }.public-hero { padding-top: 8.5rem; } }
.spam-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.service-catalogue { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); }.service-catalogue .service-feature-copy { max-width: 58rem; }.service-catalogue .service-feature-copy h2 { max-width: 18ch; font-size: clamp(2.1rem, 4vw, 4.2rem); }.price-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.5rem 0; }.price-context div { padding: .75rem; border: 1px solid var(--border); background: rgba(255,255,255,.025); }.price-context dt { color: var(--text-secondary); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.price-context dd { margin: .3rem 0 0; color: var(--text-primary); font-size: .9rem; font-weight: 650; }.quotation-note { margin: 0 0 1.25rem; color: var(--text-secondary); font-size: .75rem; line-height: 1.5; }
@media (max-width: 760px) { .service-catalogue { grid-template-columns: 1fr; gap: .75rem; }.price-context { grid-template-columns: 1fr; } }

/* Portfolio: compact introduction and self-contained case-study cards. */
.portfolio-page { overflow:hidden; background:radial-gradient(ellipse 55% 34% at 78% 5%,rgba(91,111,239,.14),transparent 72%),var(--background); }.portfolio-intro { padding:clamp(7.5rem,11vw,10rem) 0 clamp(3rem,5vw,4.75rem); border-bottom:1px solid var(--border); }.portfolio-intro h1 { max-width:14ch; margin:.4rem 0 1.2rem; color:var(--text-primary); font-size:clamp(2.9rem,5.8vw,5.7rem); font-weight:650; letter-spacing:-.075em; line-height:.93; }.portfolio-intro > .container > p:not(.section-label) { max-width:42rem; margin:0 0 1.8rem; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.15rem); line-height:1.6; }.portfolio-work { padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(4rem,8vw,7rem); }.portfolio-project-list { display:grid; gap:1.5rem; }.portfolio-project-card { display:grid; grid-template-columns:minmax(17rem,.92fr) minmax(0,1.08fr); overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-md); background:linear-gradient(135deg,rgba(25,37,70,.62),rgba(8,13,29,.85)); box-shadow:0 1.4rem 3.5rem rgba(0,0,0,.16); }.portfolio-project-image { display:grid; min-height:22rem; padding:clamp(1rem,2.5vw,1.75rem); background:linear-gradient(145deg,rgba(102,118,255,.15),rgba(76,205,220,.04)); place-items:center; }.portfolio-project-image img { display:block; width:100%; aspect-ratio:16 / 10; object-fit:contain; border:1px solid rgba(215,229,255,.2); border-radius:calc(var(--radius-md) - .3rem); background:#f7f5f2; box-shadow:0 1.3rem 2.8rem rgba(0,0,0,.22); }.portfolio-image-placeholder { display:grid; width:100%; aspect-ratio:16 / 10; border:1px solid rgba(215,229,255,.2); border-radius:calc(var(--radius-md) - .3rem); color:var(--accent-cyan); background:linear-gradient(145deg,#18234c,#10172e); font-size:2.5rem; font-weight:800; letter-spacing:.12em; place-items:center; }.portfolio-project-content { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(1.75rem,5vw,4.5rem); }.portfolio-project-content h2 { max-width:14ch; margin:.55rem 0 1.25rem; overflow-wrap:anywhere; color:var(--text-primary); font-size:clamp(2.1rem,4.1vw,4.35rem); font-weight:650; letter-spacing:-.07em; line-height:.94; }.portfolio-summary { max-width:39rem; margin:0; overflow-wrap:break-word; color:var(--text-primary); font-size:clamp(1rem,1.35vw,1.15rem); line-height:1.6; }.portfolio-description { max-width:42rem; margin:1rem 0 0; overflow-wrap:break-word; color:var(--text-secondary); line-height:1.62; }.portfolio-meta { margin:1.6rem 0 0; padding-top:1rem; border-top:1px solid var(--border); overflow-wrap:break-word; color:var(--text-secondary); font-size:.9rem; }.portfolio-meta strong { display:block; margin-bottom:.28rem; color:var(--accent-cyan); font-size:.67rem; letter-spacing:.11em; text-transform:uppercase; }.portfolio-empty { max-width:46rem; padding:clamp(1.5rem,4vw,3rem); }.portfolio-empty h2 { margin:.4rem 0 .75rem; }.portfolio-empty p:not(.section-label) { max-width:34rem; margin:0; color:var(--text-secondary); line-height:1.6; }
@media (max-width:760px) { .portfolio-intro { padding-top:7rem; }.portfolio-project-card { grid-template-columns:1fr; }.portfolio-project-image { min-height:14rem; }.portfolio-project-image img,.portfolio-image-placeholder { min-height:12rem; }.portfolio-project-content { padding:1.6rem; } }
