/* query-v0.6. Existing project-card and widget styles come from the catalogue.
   home-button mirrors anapa/home.css; related cards mirror article.css (09.10.2026).
   Only page composition and the explicitly requested compact CTA are new. */
.query-page { --q-section-space:clamp(2.75rem,4.6vw,4.5rem); --q-header-height:4.75rem; --ink:#232321; --ink-soft:#62615d; --q-accent:#b9975c; }
.query-page main h2 { margin:0; font-size:clamp(2rem,3.5vw,3.35rem); font-weight:700; line-height:1.1; letter-spacing:-.025em; text-wrap:balance; }
.query-page .site-header { --q-nav-ink:#fff; --q-nav-muted:rgba(255,255,255,.76); position:fixed; inset:0 0 auto; color:var(--q-nav-ink); background:transparent; border:0; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.query-page .site-header.is-light,.query-page .site-header.is-menu-open { --q-nav-ink:var(--ink); --q-nav-muted:var(--ink-soft); background:rgba(251,250,247,.72); box-shadow:0 1px 0 rgba(37,41,54,.07),0 8px 26px rgba(20,24,31,.04); -webkit-backdrop-filter:blur(18px) saturate(145%); backdrop-filter:blur(18px) saturate(145%); }
.query-page .desktop-nav a,.query-page .header-phone__number { color:var(--q-nav-ink); transition:color 180ms var(--ease-out); }
.query-page .header-phone__label { color:var(--q-nav-muted); }
.query-page .menu-toggle { color:var(--q-nav-ink); border:1px solid currentColor; background:transparent; }
.q-brand-pair { position:relative; display:block; width:10.5rem; height:3.65rem; }
.q-brand-pair img { position:absolute; top:50%; left:0; width:100%; height:auto; transform:translateY(-50%); transition:opacity 180ms var(--ease-out); }
.q-brand-dark { opacity:0; }
.q-brand-light { opacity:1; }
.is-light .q-brand-dark,.is-menu-open .q-brand-dark { opacity:1; }
.is-light .q-brand-light,.is-menu-open .q-brand-light { opacity:0; }
.query-page .mobile-nav { background:rgba(251,250,247,.96); }
.q-heading-accent { color:var(--gold); font:inherit; letter-spacing:inherit; }
.q-section { padding-block:var(--q-section-space); }
.q-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#15212a; }
.q-hero__image,.q-hero__veil { position:absolute; inset:0; width:100%; height:100%; }
.q-hero__image { object-fit:cover; object-position:50% 55%; z-index:-2; }
.q-hero__veil { z-index:-1; background:linear-gradient(90deg,rgba(11,16,23,.95),rgba(11,16,23,.76) 50%,rgba(11,16,23,.28)),linear-gradient(0deg,rgba(11,16,23,.55),transparent 64%); }
.q-hero__inner { padding-block:calc(var(--q-header-height) + 28px) var(--q-section-space); }
.q-breadcrumbs { display:flex; gap:12px; flex-wrap:wrap; align-items:center; font-size:.8rem; color:#edf2f1; }
.q-breadcrumbs a { text-underline-offset:4px; }
.q-hero__copy { max-width:59rem; padding-top:24px; }
.q-hero h1 { margin:0 0 16px; max-width:23ch; font-size:clamp(3.1rem,5.2vw,5.05rem); font-weight:540; letter-spacing:-.01em; line-height:1; text-wrap:balance; }
.q-hero__lead { max-width:54rem; margin-bottom:22px; font-size:clamp(1rem,1.4vw,1.16rem); line-height:1.55; color:rgba(255,255,255,.8); }
.query-page .home-button { position:relative; overflow:hidden; min-height:3.65rem; padding:1rem 1.35rem; border:1px solid rgba(255,237,190,.9); border-radius:.8rem; background:linear-gradient(135deg,#f7dda0 0%,#ecc66f 58%,#d7ad55 100%); color:#25231f; box-shadow:0 .85rem 2.15rem rgba(165,120,45,.25),inset 0 1px 0 rgba(255,255,255,.52); font-size:.92rem; font-weight:760; letter-spacing:.01em; }
.query-page .home-button::after { position:absolute; inset:-35% auto -35% -45%; width:26%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); content:""; opacity:.32; pointer-events:none; transform:skewX(-18deg) translateX(-220%); animation:q-cta-sheen 6.5s ease-in-out 1.25s infinite; }
@keyframes q-cta-sheen { 0%,68% { transform:skewX(-18deg) translateX(-220%); } 82%,100% { transform:skewX(-18deg) translateX(760%); } }
.query-page .home-button:focus-visible,.query-page .q-related-card:focus-visible,.q-widgets :focus-visible { outline:3px solid var(--gold-strong); outline-offset:5px; }
.query-page .home-button:active { transform:scale(.97); }
.q-intro { max-width:960px; margin-bottom:32px; }
.q-intro > p { max-width:870px; margin:20px 0 0; color:var(--ink-soft); font-size:1.08rem; line-height:1.65; }
.q-editorial .q-intro { display:grid; grid-template-columns:1.12fr .88fr; align-items:start; gap:clamp(32px,4.5vw,72px); max-width:none; margin-bottom:64px; padding-bottom:40px; border-bottom:1px solid #ddd4c3; }
.q-editorial .q-intro h2 { color:var(--ink); text-wrap:initial; }
.q-editorial .q-heading-accent { display:block; }
.q-editorial .q-heading-accent::after { content:""; display:block; width:80px; height:3px; background:var(--q-accent); margin-top:26px; }
.q-editorial .q-intro > p { margin:0; font-size:1.05rem; }
.q-editorial__rows { display:grid; gap:80px; }
.q-editorial__row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,64px); align-items:center; }
.q-editorial__row:nth-child(even) > img { order:2; }
.q-editorial__row > img { width:100%; height:auto; max-height:320px; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius-md); }
.q-editorial h3 { margin:0 0 18px; font-size:clamp(1.5rem,2.4vw,2.2rem); line-height:1.15; letter-spacing:-.025em; font-weight:620; }
.q-editorial__copy p { color:var(--ink-soft); font-size:1rem; line-height:1.65; margin-bottom:16px; }
.q-inline-link { display:inline-block; color:var(--ink); font-size:.95rem; font-weight:650; text-underline-offset:4px; text-decoration-color:#b9975c; }
.q-catalog { background:var(--paper); padding-top:0; padding-bottom:calc(var(--q-section-space) / 2); }
.q-catalog__heading { color:var(--ink); padding-block:0 40px; }
.q-catalog__heading .q-intro { position:relative; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:clamp(32px,5vw,80px); max-width:var(--container); margin-bottom:0; border-top:1px solid #d8cfbf; padding-top:48px; }
.q-catalog__heading .q-intro::before { position:absolute; top:-2px; left:0; width:120px; height:3px; background:var(--q-accent); content:""; }
.q-catalog__heading h2 { max-width:22ch; text-wrap:initial; }
.q-catalog__heading .q-heading-accent { display:block; }
.q-catalog__heading .q-intro > p { color:var(--ink-soft); margin:0 0 5px; font-size:1.05rem; }
.q-projects { gap:1.5rem; }
.q-projects[data-count="1"] { grid-template-columns:minmax(0,540px); }
.q-projects[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.query-page .project-card__body > p { order:0; margin:0 0 14px; color:var(--ink-soft); font-size:.8rem; letter-spacing:0; text-transform:none; font-weight:500; }
.query-page .project-card h3 { margin-bottom:8px; }
.q-projects[data-mode="floorplans"] .project-card__visual { background:white; }
.q-projects[data-mode="floorplans"] .project-card__visual img { object-fit:contain; padding:16px; }
.q-contact-section { padding-top:calc(var(--q-section-space) / 2); padding-bottom:0; }
.q-contact { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1.25rem; padding:1.2rem 1.35rem; border:1px solid rgba(209,177,113,.28); border-radius:1.4rem; background:radial-gradient(circle at 84% -30%,rgba(209,177,113,.27),transparent 22rem),linear-gradient(125deg,#090d13 0%,#151c25 58%,#090d13 100%); box-shadow:0 20px 54px rgba(9,13,19,.18); color:var(--white); }
.q-contact__count { width:3.65rem; height:3.65rem; display:grid; place-items:center; border:1px solid rgba(209,177,113,.42); border-radius:50%; color:var(--gold); font-size:.92rem; font-weight:750; }
.q-contact__copy { display:grid; gap:.35rem; }
.query-page .q-contact h2 { font-size:1.05rem; font-weight:750; line-height:1.4; letter-spacing:0; text-wrap:initial; }
.q-contact__copy > p { color:rgba(255,255,255,.66); font-size:.88rem; line-height:1.55; margin:0; }
.q-contact .home-button { max-width:350px; text-align:center; }
.q-audience { padding-top:calc(var(--q-section-space) * 1.5); }
.q-audience__heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:48px; margin-bottom:36px; }
.q-audience__heading h2 { max-width:25ch; color:var(--ink); letter-spacing:-.025em; }
.q-audience__group { margin:0; padding-left:24px; border-left:2px solid #c9ad79; max-width:23ch; font-size:1.15rem; line-height:1.5; font-weight:500; color:var(--ink-soft); }
.q-audience__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.q-audience article { display:flex; flex-direction:column; padding:28px 24px 0 0; border-top:1px solid #d8cfbf; background:transparent; }
.q-audience article + article { border-left:1px solid #e4ded2; padding-left:24px; }
.q-audience__item-heading { display:flex; justify-content:space-between; align-items:start; gap:18px; margin-bottom:20px; }
.q-audience__icon { width:48px; height:48px; flex:none; color:var(--q-accent); }
.q-audience h4 { color:var(--ink); font-size:1.4rem; line-height:1.25; font-weight:650; letter-spacing:-.015em; margin:0; }
.q-audience article p { color:var(--ink-soft); line-height:1.65; margin-bottom:20px; }
.q-audience article .q-inline-link { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; margin-top:auto; padding-top:18px; border-top:1px solid #e4ded2; text-decoration:none; }
.q-audience article .q-inline-link::after { content:'↗'; color:var(--q-accent); font-size:1.35rem; }
.q-faq { border-block:1px solid var(--line); }
.q-faq__layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
@media(min-width:1024px) { .q-faq__layout > h2 { position:sticky; top:104px; } }
.q-faq__items details { padding-block:22px; border-bottom:1px solid var(--line); }
.q-faq__items details:first-child { padding-top:0; }
.q-faq__items details:last-child { border-bottom:0; padding-bottom:0; }
.q-faq__items summary { display:flex; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-size:1.05rem; font-weight:650; line-height:1.4; }
.q-faq__items summary::-webkit-details-marker { display:none; }
.q-faq__items summary::after { content:'+'; color:#795c2f; font-size:1.6rem; font-weight:400; flex-shrink:0; }
.q-faq__items details[open] summary::after { content:'−'; }
.q-faq__answer { padding-right:28px; }
.q-faq__answer p { color:var(--ink-soft); margin:16px 0; font-size:.97rem; line-height:1.65; }
.q-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.q-related-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; min-height:16.30125rem; padding:1.3rem; justify-content:flex-end; gap:1.1rem; border:0; border-radius:var(--radius-md); background:var(--ink-deep); color:var(--white); text-decoration:none; transition:transform 180ms var(--ease-out),box-shadow 180ms var(--ease-out); }
.q-related-card > img,.q-related-card::before { position:absolute; inset:0; width:100%; height:100%; z-index:-2; object-fit:cover; }
.q-related-card::before { z-index:-1; background:linear-gradient(0deg,rgba(16,20,27,.94),rgba(16,20,27,.12) 85%),linear-gradient(90deg,rgba(16,20,27,.25),transparent); content:""; }
.q-related-card h3 { font-size:clamp(1.1rem,1.45vw,1.35rem); font-weight:600; line-height:1.2; letter-spacing:-.025em; margin:0; }
.q-related-card__label { display:flex; align-items:center; gap:.5rem; font-size:.72rem; font-weight:700; }
.q-related-card__label > span { display:grid; flex:0 0 1.75rem; height:1.75rem; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; font-size:1rem; font-weight:500; }
.q-widgets:not(.is-visible) .selection-widget,.q-widgets:not(.is-visible) .expert-widget { visibility:hidden; opacity:0; pointer-events:none; transform:translateY(.65rem); }
.q-widgets .selection-widget { text-decoration:none; }
.q-widgets:not(.is-visible) .expert-widget__trigger { pointer-events:none; }
.q-quiz-status { position:fixed; z-index:1001; bottom:20px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); margin:0; padding:14px 22px; background:#17282b; color:#fff; border-radius:12px; box-shadow:0 6px 24px #0003; }
@media(hover:hover) and (pointer:fine) {
  .query-page .home-button:hover { background:linear-gradient(135deg,#ffe5af 0%,#f2cf7e 58%,#dfb65f 100%); box-shadow:0 1.05rem 2.6rem rgba(165,120,45,.32); transform:translateY(-2px); }
  .q-related-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(24,29,37,.08); }
}
@media(max-width:1050px) {
  .q-editorial .q-intro,.q-catalog__heading .q-intro,.q-audience__heading { gap:32px; }
  .q-editorial__row { gap:28px; }
  .q-audience__grid { gap:24px; }
  .q-faq__layout { gap:35px; }
  .q-contact { grid-template-columns:auto minmax(0,1fr); }
  .q-contact .home-button { grid-column:2; justify-self:start; }
}
@media(min-width:641px) and (max-width:896px) { .query-page { --q-header-height:5.25rem; } }
@media(max-width:896px) {
  .q-related__grid { grid-template-columns:1fr; }
  .q-editorial .q-intro,.q-catalog__heading .q-intro,.q-audience__heading,.q-audience__grid { grid-template-columns:1fr; }
  .q-editorial .q-intro h2 { max-width:24ch; }
  .q-editorial .q-intro { gap:24px; }
  .q-catalog__heading .q-intro { gap:24px; }
  .q-catalog__heading h2 { max-width:20ch; }
  .q-catalog__heading .q-intro > p { padding-left:0; border-left:0; max-width:60ch; }
  .q-audience__heading { gap:22px; }
  .q-audience__group { max-width:none; }
  .q-audience article,.q-audience article + article { padding:26px 0 0; border-left:0; }
}
@media(max-width:760px) {
  .q-hero__copy { padding-top:28px; }
  .q-editorial__row,.q-audience__grid,.q-faq__layout { grid-template-columns:1fr; }
  .q-editorial__row:nth-child(even) > img { order:0; }
  .q-editorial .q-intro { margin-bottom:48px; }
  .q-editorial__rows { gap:56px; }
  .q-editorial__row > img { aspect-ratio:16/9; }
  .q-contact { padding:1rem; gap:.85rem; }
  .q-contact .home-button { grid-column:1 / -1; max-width:none; width:100%; }
  .q-related__grid { gap:16px; }
  .q-faq__layout { gap:30px; }
}
@media(max-width:640px) { .q-brand-pair { width:8.8rem; } }
@media(max-width:520px) {
  .q-hero__inner { padding-top:calc(var(--q-header-height) + 20px); }
  .q-breadcrumbs { font-size:.72rem; gap:8px; }
  .q-hero h1 { font-size:clamp(2.65rem,11.5vw,3.65rem); }
  .q-hero .home-button { width:100%; font-size:.88rem; padding-inline:14px; line-height:1.3; }
  .q-projects,.q-projects[data-count="1"],.q-projects[data-count="2"],.q-related__grid { grid-template-columns:1fr; }
  .q-faq__answer { padding-right:0; }
  .q-editorial .q-intro { padding-bottom:28px; }
  .q-catalog__heading { padding-bottom:28px; }
  .q-catalog__heading .q-intro { padding-top:32px; }
  .q-audience__item-heading { gap:24px; }
  .q-related-card { min-height:225px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .query-page .site-header.is-light,.query-page .site-header.is-menu-open { background:var(--paper); }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  .query-page .site-header.is-light,.query-page .site-header.is-menu-open { background:var(--paper); -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .query-page *, .query-page *::before, .query-page *::after { transition-duration:0s !important; animation:none !important; }
}
