/* Responsive layout contract: intrinsic card heights, one scroll viewport,
   and breakpoints based on available CSS pixels (including browser zoom). */
#controls{min-width:0;min-height:0}
#pages{top:0!important;left:auto!important;right:auto!important;min-width:0;min-height:0;transform:none!important;overflow-anchor:auto;scrollbar-gutter:stable;scroll-padding-block:24px}
#controls::before,#controls::after{display:none!important}
.app-header{position:relative!important;top:auto!important;flex-shrink:0;height:80px!important;min-height:80px!important}
.page{min-width:0;min-height:0!important;overflow-wrap:anywhere}
.home-hero{height:auto!important;min-height:0!important;padding:clamp(24px,3vw,40px)!important}
.hero-copy{min-width:0;width:100%;max-width:100%!important;padding:0!important}
.hero-copy h1{font-size:clamp(2rem,3.4vw,3.5rem)!important;line-height:1.08!important;max-width:21ch!important;overflow-wrap:normal}
.hero-lead{font-size:1rem!important;line-height:1.65!important;max-width:65ch!important;color:#beb1c9!important}
.hero-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:16px!important}
.primary-action,.text-action{height:auto!important;min-height:48px;white-space:normal!important;max-width:100%;line-height:1.4;overflow-wrap:anywhere}
.primary-action{font-size:.875rem!important;padding:14px 20px!important;gap:18px}
.home-bento{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-areas:'prices about stack' 'prices skills stack' 'process process guarantor';grid-auto-rows:auto!important;grid-template-rows:auto!important;gap:16px!important;align-items:stretch}
.home-bento>.prices{grid-area:prices!important}.home-bento>.about{grid-area:about!important}.home-bento>.stack{grid-area:stack!important}.home-bento>.skills{grid-area:skills!important}.home-bento>.process-card{grid-area:process!important}.home-bento>.home-guarantor{grid-area:guarantor!important}
.home-bento>.section-card,.home-bento>.process-card,.home-bento>.home-guarantor{height:auto!important;min-height:0!important;max-height:none!important;min-width:0;padding:24px!important}
.card-head,.card-copy,.card-index,.price-preview,.stack-preview,.mini-meta,.skill-preview{flex-shrink:0}
.card-copy h2,.process-title h2,.home-guarantor h2{font-size:1.25rem!important;line-height:1.25!important}
.home-bento .card-copy p{display:block!important;font-size:.9375rem!important;line-height:1.6!important;max-width:none!important;color:#baadc5!important;-webkit-line-clamp:unset!important;max-height:none!important}
.home-bento .price-preview,.home-bento .stack-preview,.home-bento .mini-meta,.home-bento .skill-preview{margin-top:auto!important;padding-top:24px!important}
.stack-preview,.mini-meta,.skill-preview{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.stack-preview span,.mini-meta span,.skill-preview span{font-size:.75rem!important;line-height:1.4!important;white-space:normal!important;max-width:100%;color:#b8a9c4!important;padding:6px 9px!important}
.price-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:12px!important}
.price-preview span,.price-preview b{font-size:.8125rem!important;line-height:1.5!important;white-space:normal!important;color:#b8a9c4}
.process-title{flex-wrap:wrap;gap:12px!important}.process-title p{font-size:.875rem!important;text-align:left!important;line-height:1.5;color:#baadc5}
.process-line{display:flex!important;flex-wrap:wrap;gap:16px 24px!important;align-items:start!important}.process-line span{font-size:.8125rem!important;line-height:1.5;white-space:normal!important}.process-line b{display:none!important}
.guarantor-profile{flex-wrap:wrap;min-width:0;gap:16px!important}.guarantor-copy{min-width:0;flex:1 1 170px}.guarantor-copy p{font-size:.8125rem!important;line-height:1.6!important;color:#baadc5!important}.guarantor-handle{overflow-wrap:anywhere;white-space:normal!important}
#pages :is(.price-card,.glass-block,.metric,.stack-row,.skill-card,.about-statement){min-width:0;height:auto!important;max-height:none}
#pages :is(.skill-card p,.glass-block p,.price-card p){font-size:.875rem;line-height:1.65}
@media(min-width:900px){
 #controls{display:grid!important;grid-template-columns:200px minmax(0,1fr);grid-template-rows:80px minmax(0,1fr);column-gap:16px;padding:var(--safe-top) 24px 0 16px!important}
 .app-header{grid-column:2;grid-row:1;width:100%;padding:0 16px!important}
 #pages{grid-column:2;grid-row:2;width:min(100%,1240px)!important;justify-self:center;margin:0!important;padding:24px 8px 48px!important}
 .desktop-hotbar{width:184px!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;max-height:calc(100% - 32px);overflow-y:auto!important;overflow-x:hidden;scrollbar-width:thin}
 .rail-label,.rail-footer{opacity:1!important;transform:none!important}.rail-label{white-space:normal;font-size:.8125rem}.rail-item{min-height:48px;height:auto!important;padding:12px 8px;gap:8px}.rail-footer{height:auto;min-height:26px;white-space:normal;letter-spacing:.04em;font-size:.65rem}.status-pulse{flex-shrink:0}
 body:has(.desktop-hotbar:hover) #pages,body:has(.desktop-hotbar:focus-within) #pages{transform:none!important}
 .mobile-hotbar{display:none!important}
}
@media(min-width:900px) and (max-width:1099px){
 #controls{grid-template-columns:80px minmax(0,1fr);padding-left:12px!important;padding-right:16px!important}
 .desktop-hotbar{width:76px!important;left:12px!important}.rail-label,.rail-footer{display:none!important}.rail-item{justify-content:center}
}
@media(max-width:1399px){
 .home-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:'prices about' 'stack skills' 'process guarantor'}
 .home-bento>.section-card{min-height:240px!important}
}
@media(max-width:899px){
 #controls{display:flex!important;padding:var(--safe-top) 0 0!important}
 .app-header{height:72px!important;min-height:72px!important}
 #pages{width:100%!important;margin:0!important;padding:16px max(16px,var(--safe-right)) calc(104px + var(--safe-bottom)) max(16px,var(--safe-left))!important}
 .desktop-hotbar{display:none!important}.mobile-hotbar{height:auto!important;min-height:64px!important}
 .mobile-nav-item{min-width:0;min-height:48px;font-size:.6875rem!important;line-height:1.3;white-space:normal!important}
 .detail-heading{grid-template-columns:1fr!important}.detail-heading p{grid-column:1!important;margin-top:16px}
}
@media(max-width:599px){
 .home-bento{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'prices' 'about' 'stack' 'skills' 'process' 'guarantor'}
 .home-bento>.section-card{min-height:0!important}
 .hero-actions{flex-direction:column!important;align-items:stretch}.primary-action{justify-content:space-between}
 .about-columns,.split-blocks,.skills-grid,.prices-grid,.price-grid,.metrics-row{grid-template-columns:minmax(0,1fr)!important}
 .stack-row{grid-template-columns:minmax(0,1fr)!important}.detail-heading h1{font-size:2.25rem!important}
}
@media(max-height:450px){.app-header{height:56px!important;min-height:56px!important}.brand-wordmark{font-size:21px}.brand-subtitle{font-size:8px;margin-top:4px}@media(min-width:900px){#controls{grid-template-rows:56px minmax(0,1fr)}}}
#pages .home-bento .section-card .card-copy p{font-size:.9375rem!important;line-height:1.6!important;max-width:none!important}
#pages h1[tabindex="-1"]:focus{outline:none}
@media(max-width:599px){.skill-matrix,.method-grid{grid-template-columns:minmax(0,1fr)!important}.skill-card{grid-template-columns:28px minmax(0,1fr)!important;gap:12px!important}.skill-num{width:28px;height:28px}}
/* Do not substitute estimated heights: zoom must lay out the actual text. */
#pages .page *{content-visibility:visible!important;contain-intrinsic-size:none!important}
@media(max-width:599px){.guarantor-profile{grid-template-columns:minmax(0,1fr)!important}.guarantor-copy{min-width:0}}
/* Telegram may keep its pixel viewport value unchanged after desktop zoom.
   Size the whole scene in current CSS viewport units instead. */
#scene{height:100vh!important;height:100dvh!important}
