/* VYKY x REMAX 2026: odvozeno z oficiální digitální palety REMAX. */
:root {
  --ink: #000e35;
  --paper: #f7f5ee;
  --blue: #0043ff;
  --bridge-blue: #0c2749;
  --red: #ff1200;
  --deep-red: #aa1120;
  --sky: #a3d4f2;
  --line: rgba(247, 245, 238, .38);
}

body { background: var(--paper); color: var(--ink); }
.header-actions{margin-left:18px}
@media(max-width:700px){.site-header{align-items:flex-start;display:grid;gap:13px;grid-template-columns:1fr auto}.desktop-nav{display:flex;gap:14px;grid-column:1/-1;overflow-x:auto;padding-bottom:5px;scrollbar-width:none;width:100%}.desktop-nav::-webkit-scrollbar{display:none}.desktop-nav a{font-size:.67rem;white-space:nowrap}.header-actions{margin-left:0}}
.site-header { color: var(--paper); }
.hero { --orb-size:clamp(630px,min(calc(72vw + 70px),calc(125vh + 70px)),1070px); --orb-x-end:1.025; --orb-x-start:1; --orb-y-end:1.025; --orb-y-start:1; --photo-size:clamp(280px,min(33vw,47vh),440px); background:var(--ink); color:var(--paper); padding-top:17vh; }
.hero-visual { bottom:0; height:var(--orb-size); pointer-events:none; position:absolute; right:0; translate:50% 50%; width:var(--orb-size); z-index:1; }
.hero-photo-slot-legacy { display:none; }
.hero-orb { display: block; opacity: 1; z-index: 0; }
.orb-one { animation:breathe 7s ease-in-out infinite; background:var(--paper); bottom:0; filter:none; height:100%; left:0; right:auto; top:0; transform-origin:50% 50%; translate:none; width:100%; }
.orb-two { display: none; }
.hero > .eyebrow, .hero-copy, .hero-footer, .scroll-cue { z-index: 2; }
.hero-photo-slot { background:var(--paper); border:7px solid var(--paper); border-radius:50%; bottom:auto; height:var(--photo-size); left:29.5%; overflow:hidden; position:absolute; right:auto; top:29.35%; translate:-50% -50%; width:var(--photo-size); z-index:1; }
.hero-photo-slot > img { display:block; height:100%; object-fit:cover; object-position:46% 6%; transform:scale(1.3); transform-origin:46% 6%; width:100%; }
.hero-copy { align-items:flex-start; flex-direction:column; gap:23px; justify-content:flex-start; left:4vw; margin:0; max-width:min(900px,52vw); position:absolute; right:calc(var(--photo-size) + 3vw); top:52%; transform:translateY(-50%); }
.hero-intro { max-width:none; padding-bottom:0; }
.hero-intro p { margin:0; }
.hero-intro p + p { font-size:1.1rem; margin-top:10px; white-space:nowrap; }
.hero h1 { font-feature-settings:"kern" 0; font-kerning:none; font-size:clamp(2.7rem,min(5.35vw,8vh),5.8rem); letter-spacing:.01em !important; line-height:1.08; max-width:none; word-spacing:normal; }
.hero h1 em { letter-spacing:.01em !important; white-space:nowrap; word-spacing:normal; }
.vyky-hero-logo { display: none; }
.vyky-hero-logo svg { overflow: visible; width: 100%; }
.vyky-hero-logo strong { color: var(--ink); font-family: var(--sans); font-size: clamp(3.5rem, 7vw, 6.4rem); font-weight: 700; letter-spacing: -.13em; line-height: .8; margin-right: .12em; }
@keyframes breathe { 0%,100% { transform:scale(var(--orb-x-start),var(--orb-y-start)); } 50% { transform:scale(var(--orb-x-end),var(--orb-y-end)); } }
.hero-footer { border-color: rgba(247, 245, 238, .5); }
.scroll-cue { border-color: var(--paper); }
.scroll-cue span { background: var(--paper); }

.intro { background:var(--sky); color:var(--ink); display:flex; flex-direction:column; height:100svh; overflow:hidden; padding:clamp(58px,7vh,76px) 4vw clamp(18px,2.7vh,30px); position:relative; }
.back-to-hero { align-items:center; border:1px solid rgba(0,14,53,.35); border-radius:50%; color:var(--ink); display:flex; font:400 1rem var(--sans); height:34px; justify-content:center; left:4vw; position:absolute; text-decoration:none; top:18px; transition:background .2s,color .2s,transform .2s; width:34px; }
.back-to-hero:hover { background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.why-heading { align-items:center; display:flex; flex:0 0 auto; gap:6vw; justify-content:space-between; margin:0 0 clamp(14px,2.2vh,24px); }
.why-heading h2 { font-size:clamp(2.65rem,4.5vw,5.4rem); line-height:.88; margin:0; max-width:12ch; }
.about-spotlight { align-items:center; background:var(--paper); border:2px solid var(--red); border-radius:18px; color:var(--ink); cursor:pointer; display:flex; font:500 1.22rem var(--sans); gap:18px; min-height:126px; overflow:hidden; padding:14px 18px 14px 14px; text-align:left; transition:background .25s, border-color .25s, box-shadow .25s, transform .25s; width:min(29vw,340px); }
.about-spotlight:hover { background:#fff; border-color:var(--red); box-shadow:0 16px 34px rgba(0,14,53,.12); color:var(--ink); transform:translateY(-4px); }
.about-photo { align-self:stretch; background:var(--sky); border-radius:12px; flex:0 0 92px; overflow:hidden; }
.about-photo img { height:100%; object-fit:cover; object-position:center 18%; width:100%; }
.about-spotlight small { display:block; font:500 .6rem var(--mono); letter-spacing:.08em; margin-bottom:9px; text-transform:uppercase; }
.about-spotlight b { font-size:1.5rem; font-weight:400; margin-left:auto; }
.about-spotlight b, .partner-card > b { display:none; }
.partner-grid { display:grid; flex:1; gap:10px; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); min-height:0; }
.partner-card { align-items:start; background:rgba(255,255,255,.72); border:1px solid rgba(0,14,53,.18); border-radius:18px; color:var(--ink); cursor:pointer; display:grid; font:500 clamp(.9rem,1.15vw,1.08rem) var(--sans); gap:15px; grid-template-rows:68px 1fr; justify-items:start; min-height:194px; padding:24px 20px; position:relative; text-align:left; transition:background .25s, border-color .25s, box-shadow .25s, color .25s, transform .25s; }
.intro .partner-card { min-height:0; }
.partner-card:hover { box-shadow:0 16px 34px rgba(0,14,53,.13); transform:translateY(-4px); }
.partner-card b { font-size:1.45rem; font-weight:400; line-height:1; position:absolute; right:17px; top:16px; }
.partner-icon { align-items:center; align-self:start; border:1px solid currentColor; border-radius:50%; display:flex; height:58px; justify-content:center; position:relative; width:58px; }
.icon-camera:before { border:2px solid currentColor; border-radius:50%; content:""; height:14px; width:14px; }
.icon-camera:after { border:1px solid currentColor; content:""; height:25px; left:7px; position:absolute; top:9px; width:28px; }
.icon-law:before { background:currentColor; content:""; height:1px; position:absolute; top:16px; width:27px; }
.icon-law:after { border-bottom:5px solid currentColor; border-left:4px solid transparent; border-right:4px solid transparent; bottom:10px; content:""; height:0; left:10px; position:absolute; transform:rotate(180deg); width:18px; }
.icon-remax { background:var(--paper); border:0; border-radius:6px; height:35px; max-width:100%; overflow:hidden; padding:3px 5px; width:126px; }
.icon-remax strong { color:#101010; font:900 1rem var(--sans); letter-spacing:-.065em; }
.icon-team:before, .icon-team:after { border:1.5px solid currentColor; border-radius:50%; content:""; height:11px; position:absolute; top:10px; width:11px; }
.icon-team:before { left:9px; }.icon-team:after { right:9px; }
.icon-team { border:0; }.icon-team span { display:none; }.icon-team { border-bottom:1px solid currentColor; }
.icon-about { border-radius:50%; font:600 .62rem var(--mono); }
.icon-client:before { border:1.5px solid currentColor; border-radius:50%; content:""; height:10px; position:absolute; top:8px; width:10px; }
.icon-client:after { border:1.5px solid currentColor; border-bottom:0; border-radius:12px 12px 0 0; bottom:7px; content:""; height:12px; position:absolute; width:22px; }
.icon-marketing:before { border:1.5px solid currentColor; border-radius:50%; content:""; height:21px; width:21px; }
.icon-marketing:after { background:currentColor; content:""; height:1.5px; position:absolute; transform:rotate(-45deg); width:19px; }
.icon-viewing:before { border:1.5px solid currentColor; border-radius:2px; content:""; height:22px; position:absolute; top:11px; width:25px; }
.icon-viewing:after { border-bottom:1.5px solid currentColor; border-top:1.5px solid currentColor; content:""; height:6px; position:absolute; top:17px; width:25px; }
.icon-buyer { border:0; }
.icon-buyer:before, .icon-buyer:after { border:1.5px solid currentColor; border-radius:50%; content:""; height:12px; position:absolute; top:7px; width:12px; }
.icon-buyer:before { left:7px; }.icon-buyer:after { right:7px; }
.icon-buyer { border-bottom:1.5px solid currentColor; border-radius:0 0 18px 18px; }
.icon-handover:before { border:1.5px solid currentColor; border-radius:50%; content:""; height:12px; left:7px; position:absolute; top:9px; width:12px; }
.icon-handover:after { border-bottom:1.5px solid currentColor; border-right:1.5px solid currentColor; content:""; height:16px; left:20px; position:absolute; top:15px; transform:rotate(45deg); width:17px; }
.icon-ai { border-color:var(--sky); color:var(--sky); font:600 .66rem var(--mono); }
.partner-card-ai { background:var(--bridge-blue); border-color:var(--bridge-blue); }
.partner-card-ai:hover { background:var(--sky); border-color:var(--sky); }
.partner-card-reward { background:var(--sky); border-color:var(--sky); color:var(--ink); }
.partner-card-reward:hover { background:#fff; border-color:var(--red); }
.partner-card-urgent { background:#660000; border-color:#660000; }
.partner-card-urgent:hover { background:var(--deep-red); border-color:var(--deep-red); }
.partner-card span small { display:block; font:500 .62rem var(--mono); letter-spacing:.02em; margin-top:7px; }
.icon-reward { font:600 .68rem var(--mono); }
.icon-urgent { font:600 1.15rem var(--sans); }
.partner-modal { align-items:center; display:flex; inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .25s; z-index:40; }
.partner-modal.is-open { opacity:1; pointer-events:auto; }
.partner-modal-backdrop { background:rgba(0,14,53,.74); inset:0; position:absolute; }
.partner-modal-panel { background:var(--paper); box-shadow:0 22px 70px rgba(0,0,0,.33); color:var(--ink); margin:auto; max-height:90dvh; max-width:680px; overflow:auto; padding:50px; position:relative; transform:translateY(15px); transition:transform .3s; width:min(90vw,680px); }
.partner-modal.is-open .partner-modal-panel { transform:none; }
.partner-modal-close { background:none; border:0; color:inherit; cursor:pointer; font:300 2rem/1 var(--sans); position:absolute; right:18px; top:14px; }
.partner-modal-panel h2 { font-size:clamp(2.8rem,5vw,4.5rem); font-weight:500; letter-spacing:-.06em; line-height:.9; margin:55px 0 24px; }
.partner-modal-panel > p:last-child { font-size:1.08rem; line-height:1.5; margin:0; max-width:38ch; }
.partner-modal-panel #partner-modal-copy { font-size:1.05rem; line-height:1.62; margin:0; max-width:60ch; }
.partner-modal-panel #partner-modal-copy { white-space:pre-line; }
.partner-modal-link { align-items:center; border-bottom:1px solid currentColor; color:var(--blue); display:inline-flex; font:700 .82rem var(--sans); gap:9px; margin-top:28px; padding-bottom:5px; text-decoration:none; }
.partner-modal-link span { color:var(--red); font-size:1rem; transition:transform .2s; }
.partner-modal-link:hover span { transform:translate(3px,-3px); }
#partner-modal .price-modal-panel { overflow:hidden; }
#partner-modal .detail-layout { display:grid; gap:20px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); height:100%; min-height:0; }
#partner-modal .detail-intro { align-items:end; border-bottom:1px solid rgba(0,14,53,.15); border-right:0; display:grid; gap:10px; grid-template-columns:1fr; padding:0 0 16px; }
#partner-modal .detail-intro .eyebrow { align-self:center; }
#partner-modal .price-modal-panel h2 { margin:0; max-width:none; }
#partner-modal .detail-intro > p:last-child { grid-column:1/-1; margin:0; max-width:70ch; }
#partner-modal .detail-content { align-content:start; display:grid; grid-template-columns:1fr; padding:0; }
#partner-modal .detail-content .detail-block { margin:0; }
#partner-modal .partner-modal-panel #partner-modal-copy { max-width:none; }
.spaces { background:var(--sky); display:flex; flex-direction:column; height:100svh; overflow:hidden; padding:clamp(54px,7vh,78px) 4vw clamp(18px,3vh,30px); }
.spaces .section-head { align-items:end; display:flex; flex:0 0 auto; }
.spaces-heading-link{color:inherit;text-decoration:none}
.spaces-heading-link h2{transition:color .2s}
.spaces-heading-link:hover h2{color:var(--blue)}
.offers-cta { align-items:center; background:var(--ink); border-radius:999px; color:var(--paper); display:inline-flex; font-size:.78rem; font-weight:700; gap:14px; margin-left:auto; padding:13px 18px; text-decoration:none; transition:background .2s,transform .2s; }
.offers-cta:hover { background:var(--blue); transform:translateY(-2px); }
.offers-cta span { color:var(--red); font-size:1rem; }
.spaces .section-head h2 { font-size:clamp(2.8rem,5vw,5.8rem); line-height:.88; }
.spaces .space-list { display:grid; flex:1; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(16px,2.5vh,26px); min-height:0; }
.spaces .space-card { align-items:stretch; border-radius:18px; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; min-height:0; padding:clamp(16px,2vw,26px); }
.spaces .space-card .card-num { grid-column:1; grid-row:1; }
.spaces .space-card > div { align-self:end; grid-column:1/-1; grid-row:2; }
.spaces .space-card > b { align-self:start; grid-column:2; grid-row:1; }
.spaces .space-card { background-position:center; background-size:cover; color:var(--paper); }
.spaces .card-city { background-image:linear-gradient(0deg,rgba(0,14,53,.9),rgba(0,14,53,.08) 74%),url('assets/apartment/living.png'); }
.spaces .card-living { background-image:linear-gradient(0deg,rgba(0,14,53,.88),rgba(0,14,53,.08) 72%),url('assets/property-hero.webp'); }
.spaces .card-land { background-image:linear-gradient(0deg,rgba(0,14,53,.9),rgba(0,14,53,.08) 72%),url('assets/category-other-v1.png'); }
.spaces .space-card.is-coming b { background:rgba(247,245,238,.9); color:var(--ink); }
.spaces .space-card:hover { color:var(--paper); }
.spaces-quote { border-top:1px solid rgba(0,14,53,.28); flex:0 0 auto; font-size:clamp(.92rem,1.4vw,1.28rem); line-height:1.3; margin:clamp(12px,2vh,20px) 0 0; padding-top:clamp(10px,1.5vh,16px); }
.spaces-quote em { color:var(--blue); font-style:normal; }
.card-city { background: var(--paper); }
.card-living { background: #fff; }
.card-land { background: #e9eef9; color: var(--ink); }
.space-card.is-coming { cursor:default; }
.space-card.is-coming:hover:before { transform:none; }
.space-card.is-coming b { background:rgba(0,14,53,.07); border-radius:999px; font:500 .58rem var(--mono); letter-spacing:.04em; padding:8px 10px; text-transform:uppercase; white-space:nowrap; }
.offer-kind { display:block; font:500 .58rem var(--mono); letter-spacing:.06em; margin-bottom:12px; text-transform:uppercase; }
.ai-visual-label{background:rgba(247,245,238,.92);border-radius:999px;color:var(--ink);display:inline-block;font:600 .5rem var(--mono);letter-spacing:.05em;margin-bottom:12px;padding:6px 8px;text-transform:uppercase}
.manifesto { background: var(--sky); }
.contact { background: var(--sky); }
.contact .round-link{border:0;font-family:var(--sans)}
.contact-modal-layout{display:grid;gap:7vw;grid-template-columns:1.2fr .8fr;height:100%}
.contact-modal-copy{align-self:center}
.contact-modal-copy h2{font-size:clamp(3.2rem,6vw,7rem);font-weight:500;letter-spacing:-.06em;line-height:.92;margin:28px 0}
.contact-modal-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:46ch}
.contact-methods{display:grid;margin-top:40px}
.contact-methods a{align-items:center;border-top:1px solid rgba(0,14,53,.2);color:inherit;display:grid;gap:8px;grid-template-columns:110px 1fr auto;padding:16px 0;text-decoration:none}
.contact-methods small{font:.58rem var(--mono);text-transform:uppercase}
.contact-methods strong{font-size:1rem}
.contact-methods span{color:var(--red);font-size:1.1rem}
.whatsapp-qr{align-self:center;background:#fff;border:1px solid rgba(0,14,53,.12);padding:34px;text-align:center}
.whatsapp-qr img{display:block;margin:0 auto 22px;max-width:260px;width:100%}
.whatsapp-qr strong{font-size:1.4rem}
.whatsapp-qr p{font-size:.78rem;line-height:1.5;margin:10px auto 0;max-width:28ch}
@media(max-width:700px){.contact-modal-layout{display:block;overflow:auto}.contact-modal-copy h2{font-size:2.5rem;margin:24px 0}.contact-methods{margin-top:25px}.contact-methods a{grid-template-columns:76px 1fr auto}.contact-methods strong{font-size:.78rem}.whatsapp-qr{margin-top:28px;padding:22px}.whatsapp-qr img{max-width:190px}}
.round-link { background: var(--blue); }
footer, .fullscreen-menu { background: var(--ink); }
footer{flex-wrap:wrap}
.site-ai-note{border-top:1px solid rgba(247,245,238,.2);flex-basis:100%;font:400 .68rem/1.55 var(--mono);margin-top:24px;opacity:.8;padding-top:18px}
.menu-bg { background: var(--blue); }
.font-choice.is-active b:after { color: var(--red); }
.brand-lockup { align-items:flex-end; display:flex; gap:14px; }
.vyky-lockup { display:block; line-height:1; text-decoration:none; }
.vyky-lockup img { display:block; height:34px; width:auto; }
.lockup-divider { background:rgba(247,245,238,.55); height:32px; width:1px; }
.remax-lockup { display:block; height:45px; width:auto; }
.g8-lockup { display:block; height:35px; object-fit:contain; width:auto; }
.price-modal { align-items:stretch; }
.price-modal .partner-modal-backdrop { background:rgba(0,14,53,.82); }
.price-modal-panel { height:100dvh; margin:0; max-height:none; max-width:none; overflow:auto; padding:clamp(30px,3.5vw,54px); width:100vw; }
.detail-layout { display:grid; gap:clamp(45px,7vw,120px); grid-template-columns:minmax(270px,.7fr) minmax(560px,1.3fr); min-height:100%; }
.detail-intro { border-right:1px solid rgba(0,14,53,.15); padding-right:clamp(35px,5vw,85px); }
.price-modal-panel h2 { font-size:clamp(2.65rem,4.2vw,5.2rem); letter-spacing:-.035em; line-height:1.02; margin:clamp(38px,6vh,68px) 0 26px; max-width:11ch; overflow-wrap:break-word; }
.detail-intro > p:last-child { font-size:clamp(1.05rem,1.35vw,1.35rem); line-height:1.55; max-width:34ch; }
.detail-content { align-content:center; display:grid; gap:clamp(22px,3vh,38px) clamp(28px,3vw,58px); grid-template-columns:repeat(2,minmax(0,1fr)); padding:32px 0; }
.detail-block { border-top:1px solid rgba(0,14,53,.18); padding-top:16px; }
.detail-block-result { grid-column:1/-1; }
.price-modal-panel h3 { border:0; font-size:1.12rem; letter-spacing:-.015em; line-height:1.25; margin:0 0 11px; padding:0; }
.price-modal-panel p, .price-modal-panel li { font-size:clamp(.82rem,.92vw,1rem); letter-spacing:0; line-height:1.55; }
.price-modal-panel p { margin:0 0 10px; max-width:62ch; }
.price-modal-panel ul { margin:0; padding:0 0 0 1.2em; }
.price-modal-panel li { margin:0 0 5px; padding-left:.25em; }
.price-modal-panel:focus { outline:none; }
.detail-content-prep .detail-block-wide { grid-column:1/-1; }
.detail-content-prep .detail-block-wide ul, .detail-content-photo .detail-block-wide ul, .detail-content-promo .detail-block-wide ul, .detail-content-viewing .detail-block-wide ul, .detail-content-buyer .detail-block-wide ul, .detail-content-legal .detail-block-wide ul, .detail-content-handover .detail-block-wide ul, .detail-content-referral .detail-block-wide ul { columns:2; column-gap:48px; }
.detail-intro-about h2 { margin-bottom:34px; }
.detail-intro-about > p { font-size:clamp(.88rem,1vw,1.05rem); }
.detail-content-about .detail-block-wide { grid-column:1/-1; }
.detail-content-about .detail-block-wide ul { columns:2; column-gap:48px; }
.price-modal-panel .partner-modal-close { font-size:2.4rem; right:clamp(20px,3vw,48px); top:clamp(18px,3vw,40px); z-index:2; }
.service-card { background:rgba(163,212,242,.24); border-color:rgba(0,14,53,.16); }
.service-icon { border:0; border-radius:0; height:68px; width:68px; }
.service-icon svg { fill:none; height:62px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:62px; }
.partner-card > span:nth-child(2) { align-self:end; line-height:1.18; width:100%; }

/* Tři směry k přímému porovnání na světle modré ploše. */
.card-variant-outline { background:rgba(247,245,238,.7); border:2px solid var(--red); color:var(--ink); }
.card-variant-outline .service-icon, .card-variant-outline > b { color:var(--red); }
.card-variant-outline:hover { background:#fff; border-color:var(--red); color:var(--ink); }
.card-variant-outline:hover .service-icon, .card-variant-outline:hover > b { color:var(--red); }
.card-variant-dark { background:var(--ink); border:2px solid var(--ink); color:var(--paper); }
.card-variant-dark .service-icon { color:var(--sky); }
.card-variant-dark > b { color:var(--red); }
.card-variant-dark:hover { background:var(--bridge-blue); border-color:var(--sky); color:var(--paper); }
.card-variant-dark.card-icon-red .service-icon { background:var(--red); border-radius:50%; color:var(--paper); height:66px; width:66px; }
.card-variant-dark.card-icon-red .service-icon svg { height:46px; width:46px; }
.card-variant-mix { background:var(--paper); border:1px solid rgba(0,14,53,.34); color:var(--ink); }
.card-variant-mix .service-icon { background:var(--red); border-radius:50%; color:var(--paper); height:66px; width:66px; }
.card-variant-mix .service-icon svg { height:46px; width:46px; }
.card-variant-mix > b { color:var(--red); }
.card-variant-mix:hover { background:#fff; border-color:var(--blue); color:var(--ink); }
.partner-card-support { background:var(--paper); border:2px solid rgba(0,14,53,.42); color:#101010; overflow:hidden; }
.partner-card-support .partner-icon { color:var(--paper); }
.partner-card-support > b { color:var(--bridge-blue); }
.partner-card-support:hover { background:var(--bridge-blue); border-color:var(--bridge-blue); color:var(--paper); }
.partner-card-reward { background:var(--paper); border:2px solid var(--red); color:var(--ink); }
.partner-card-reward .service-icon, .partner-card-reward > b { color:var(--red); }
.partner-card-urgent { color:var(--paper); }
.partner-card-urgent .service-icon { color:var(--paper); }

/* Finální sjednocená podoba devíti hlavních služeb. */
.card-variant-final {
  background:var(--ink);
  border:2px solid var(--ink);
  color:var(--paper);
}
.card-variant-final .service-icon {
  background:var(--red);
  border-radius:50%;
  color:var(--paper);
  height:66px;
  width:66px;
}
.card-variant-final .service-icon svg { height:46px; width:46px; }
.card-variant-final > b { display:none; }
.card-variant-final:hover {
  background:var(--bridge-blue);
  border-color:var(--sky);
  color:var(--paper);
}

.card-variant-final::after {
  bottom: 14px;
  color: var(--red);
  content: "→";
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  right: 15px;
  transition: transform .2s;
}

.card-variant-final:hover::after {
  transform: translateX(3px);
}

.corner-arrow {
  position: relative;
}

.corner-arrow::after {
  bottom: 14px;
  color: var(--red);
  content: "→";
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  right: 15px;
  transition: transform .2s;
}

.corner-arrow:hover::after {
  transform: translateX(3px);
}

@media (min-width:701px) {
  #legal-modal .price-modal-panel { overflow:hidden; padding:36px; }
  #legal-modal .detail-layout { gap:40px; grid-template-columns:220px minmax(0,1fr); height:100%; min-height:0; }
  #legal-modal .detail-intro { padding-right:24px; }
  #legal-modal .price-modal-panel h2 { font-size:2.6rem; margin:34px 0 18px; }
  #legal-modal .detail-intro > p:last-child { font-size:.9rem; line-height:1.4; }
  #legal-modal .detail-content { gap:14px 28px; padding:0; }
  #legal-modal .detail-block { padding-top:10px; }
  #legal-modal .price-modal-panel h3 { font-size:.9rem; margin-bottom:7px; }
  #legal-modal .price-modal-panel p,
  #legal-modal .price-modal-panel li { font-size:.72rem; line-height:1.35; }
  #legal-modal .price-modal-panel li { margin-bottom:2px; }
  #photo-modal .price-modal-panel { overflow:hidden; padding:36px; }
  #photo-modal .detail-layout { gap:40px; grid-template-columns:220px minmax(0,1fr); height:100%; min-height:0; }
  #photo-modal .detail-intro { padding-right:24px; }
  #photo-modal .price-modal-panel h2 { font-size:2.6rem; margin:34px 0 18px; }
  #photo-modal .detail-intro > p:last-child { font-size:.9rem; line-height:1.4; }
  #photo-modal .detail-content { gap:14px 28px; padding:0; }
  #photo-modal .detail-block { padding-top:10px; }
  #photo-modal .price-modal-panel h3 { font-size:.9rem; margin-bottom:7px; }
  #photo-modal .price-modal-panel p,
  #photo-modal .price-modal-panel li { font-size:.72rem; line-height:1.35; }
  #photo-modal .price-modal-panel li { margin-bottom:2px; }
  #legal-modal .detail-layout,
  #photo-modal .detail-layout { gap:36px; grid-template-columns:250px minmax(0,1fr); }
  #legal-modal .detail-content,
  #photo-modal .detail-content { gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  #legal-modal .detail-content .detail-block-wide,
  #photo-modal .detail-content .detail-block-wide { grid-column:auto; }
  #legal-modal .detail-content-legal .detail-block-wide ul,
  #photo-modal .detail-content-photo .detail-block-wide ul { columns:1; }
  #legal-modal .price-modal-panel h3,
  #photo-modal .price-modal-panel h3 { font-size:1rem; margin-bottom:9px; }
  #legal-modal .price-modal-panel p,
  #legal-modal .price-modal-panel li,
  #photo-modal .price-modal-panel p,
  #photo-modal .price-modal-panel li { font-size:.82rem; line-height:1.4; }
  #legal-modal .price-modal-panel li,
  #photo-modal .price-modal-panel li { margin-bottom:4px; }
}

@media (min-width:701px) and (max-width:1100px) {
  .partner-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .partner-card { gap:8px; grid-template-rows:54px 1fr; min-height:0; padding:14px 12px; }
  .service-icon { height:52px; width:52px; }
  .service-icon svg { height:48px; width:48px; }
  .price-modal-panel { padding:32px; }
  .detail-layout { gap:36px; grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); }
  .detail-intro { padding-right:34px; }
  .price-modal-panel h2 { font-size:clamp(2.45rem,4.8vw,3.8rem); line-height:1.04; margin-top:34px; }
  .detail-content { gap:20px 30px; }
  .price-modal-panel p, .price-modal-panel li { font-size:.78rem; }
}

@media (max-width: 700px) {
  .orb-one { height: 105vw; right: -44vw; top: 23vh; width: 105vw; }
  .hero-photo-slot { border-width:6px; bottom:12vh; height:60vw; right:-9vw; top:auto; width:60vw; }
  .brand-lockup { gap:9px; }
  .vyky-lockup img { height:28px; }
  .lockup-divider { height:26px; }
  .remax-lockup { height:32px; }
  .g8-lockup { height:26px; }
  .font-toggle { display:none; }
  .menu-label { display:none; }
  .price-modal-panel { height:100dvh; padding:34px 24px; }
  .detail-layout { display:block; }
  .detail-intro { border-right:0; padding:0 0 30px; }
  .price-modal-panel h2 { font-size:clamp(2.35rem,11vw,3.7rem); letter-spacing:-.025em; line-height:1.05; margin-top:34px; }
  .detail-content { display:block; padding:0; }
  .detail-block { margin-top:28px; }
  .detail-content-prep .detail-block-wide ul, .detail-content-photo .detail-block-wide ul, .detail-content-promo .detail-block-wide ul, .detail-content-viewing .detail-block-wide ul, .detail-content-buyer .detail-block-wide ul, .detail-content-legal .detail-block-wide ul, .detail-content-handover .detail-block-wide ul, .detail-content-referral .detail-block-wide ul { columns:1; }
  .detail-content-about .detail-block-wide ul { columns:1; }
  .intro { height:auto; min-height:100svh; overflow:visible; padding:70px 6vw 5vh; }
  .back-to-hero { left:6vw; }
  .why-heading { align-items:flex-start; display:block; margin:6vh 0 auto; }
  .why-heading h2 { font-size:clamp(3rem,12vw,4.4rem); }
  .about-spotlight { border-radius:16px; font-size:1.15rem; margin-top:26px; min-height:84px; width:100%; }
  .partner-grid { gap:7px; grid-template-columns:repeat(2,1fr); margin-top:24px; }
  .partner-card { border-radius:16px; gap:10px; grid-template-rows:54px 1fr; min-height:145px; padding:15px 13px; }
  .partner-card b { right:12px; top:11px; }
  .partner-icon { height:48px; width:48px; }
  .service-icon { height:54px; width:54px; }
  .service-icon svg { height:50px; width:50px; }
  .card-variant-final .service-icon { height:54px; width:54px; }
  .card-variant-final .service-icon svg { height:38px; width:38px; }
  .partner-modal-panel { padding:38px 28px; }
  .hero h1 { font-size:clamp(2.7rem, 11vw, 4rem); letter-spacing:.01em; }
  .hero h1 em { letter-spacing:.01em; white-space:normal; }
  .hero-intro p + p { font-size:1rem; white-space:normal; }
}

@media (min-width:701px) and (max-width:1200px) { .hero { --photo-size:clamp(250px,min(32vw,52vh),390px); } }

@media (max-width:480px) {
  .spaces { height:auto; min-height:100svh; overflow:visible; padding:70px 6vw 28px; }
  .spaces .space-list { grid-template-columns:1fr; }
  .spaces .space-card { min-height:190px; }
  .spaces .section-head { align-items:flex-start; flex-direction:column; gap:20px; }
  .offers-cta { margin-left:0; }
}

/* Kompaktní náhled: i v užším okně zůstává sekce jednou obrazovkou 5 + 5. */
@media (min-width:481px) and (max-width:700px) {
  .intro { height:100svh; min-height:0; overflow:hidden; padding:46px 3vw 14px; }
  .back-to-hero { height:30px; left:3vw; top:9px; width:30px; }
  .why-heading { align-items:center; display:flex; gap:3vw; margin:0 0 10px; }
  .why-heading h2 { font-size:clamp(2.15rem,5.6vw,3rem); max-width:12ch; }
  .about-spotlight { font-size:.95rem; gap:10px; margin:0; min-height:100px; padding:8px; width:230px; }
  .about-photo { border-radius:8px; flex-basis:72px; }
  .partner-grid { gap:7px; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); margin-top:0; }
  .intro .partner-card { border-radius:12px; font-size:.74rem; gap:5px; grid-template-rows:44px 1fr; min-height:0; padding:9px 7px; }
  .intro .service-icon { height:42px; width:42px; }
  .intro .service-icon svg { height:38px; width:38px; }
  .intro .icon-remax { box-sizing:border-box; height:30px; overflow:visible; padding:5px 4px; width:min(82px,100%); }
  .intro .icon-remax strong { font-size:.78rem; line-height:1; white-space:nowrap; }
  .partner-card span small { font-size:.5rem; margin-top:4px; }
  #partner-modal .price-modal-panel { overflow:hidden; padding:26px 24px; }
  #partner-modal .detail-layout { display:grid; gap:14px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); height:100%; min-height:0; }
  #partner-modal .detail-intro { align-items:center; border-bottom:1px solid rgba(0,14,53,.15); border-right:0; display:grid; gap:8px; grid-template-columns:1fr; padding:0 0 10px; }
  #partner-modal .price-modal-panel h2 { font-size:clamp(1.9rem,5.2vw,2.55rem); line-height:1; margin:0; }
  #partner-modal .detail-intro > p:last-child { display:none; }
  #partner-modal .detail-content { align-content:center; display:grid; padding:0; }
  #partner-modal .detail-block { margin-top:0; padding-top:12px; }
  #partner-modal .detail-block h3 { font-size:.82rem; margin-bottom:10px; }
  #partner-modal .partner-modal-panel #partner-modal-copy { font-size:.72rem; line-height:1.38; max-width:none; }
  #partner-modal .partner-modal-link { font-size:.63rem; margin-top:10px; }
  .price-modal:not(#partner-modal) .price-modal-panel { overflow:hidden; padding:24px 22px; }
  .price-modal:not(#partner-modal) .detail-layout { display:grid; gap:18px; grid-template-columns:.52fr 1.48fr; height:100%; min-height:0; }
  .price-modal:not(#partner-modal) .detail-intro { border-right:1px solid rgba(0,14,53,.15); padding:0 16px 0 0; }
  .price-modal:not(#partner-modal) .price-modal-panel h2 { font-size:clamp(1.75rem,4.7vw,2.35rem); line-height:1; margin:25px 0 14px; }
  .price-modal:not(#partner-modal) .detail-intro > p:last-child { font-size:.65rem; line-height:1.32; }
  .price-modal:not(#partner-modal) .detail-content { align-content:center; display:grid; gap:7px 14px; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .price-modal:not(#partner-modal) .detail-block { margin:0; padding-top:7px; }
  .price-modal:not(#partner-modal) .detail-block h3 { font-size:.68rem; margin:0 0 5px; }
  .price-modal:not(#partner-modal) .detail-block p,
  .price-modal:not(#partner-modal) .detail-block li { font-size:.56rem; line-height:1.28; }
  .price-modal:not(#partner-modal) .detail-block p { margin:0; }
  .price-modal:not(#partner-modal) .detail-block ul { margin:5px 0 0; padding-left:1.05em; }
  .price-modal:not(#partner-modal) .detail-block-wide { grid-column:1/-1; }
  #about-modal .price-modal-panel h2 { font-size:1.65rem; margin:20px 0 12px; }
  #about-modal .detail-intro > p:not(.eyebrow) { font-size:.58rem; line-height:1.25; margin:0 0 8px; }
  #about-modal .detail-content-about .detail-block-wide ul { columns:2; column-gap:18px; }
}

/* Finální responzivní úvod a mobilní navigace. */
.hero { padding-top:12vh; }
.hero-copy { margin-top:3vh; }
.hero h1 > span,.hero h1 > em { display:block; }
.hero h1,.hero h1 > span,.hero h1 > em { max-width:100%; }
.tablet-break { display:none; }
.header-cta { display:none; }
.hero-cta { background:var(--red); border:0; border-radius:999px; color:#fff; cursor:pointer; display:block; font:700 .78rem var(--sans); justify-self:start; padding:12px 18px; }
.mobile-menu-toggle,.mobile-navigation { display:none; }
.process-help { flex:0 0 auto; font-size:.78rem; margin:-8px 0 13px; opacity:.72; }
.case-proof{align-items:center;border:1px solid rgba(0,14,53,.16);display:flex;flex:0 0 auto;gap:12px;margin:0 0 14px;padding:10px 14px}.case-proof strong{font-size:.78rem}.case-proof span{font-size:.7rem;opacity:.78}.case-proof i{color:var(--red);font-style:normal}.case-proof b{background:var(--navy);border-radius:999px;color:var(--cream);font-size:.64rem;margin-left:auto;padding:7px 10px;white-space:nowrap}.service-area{border-top:1px solid rgba(0,14,53,.16);font-size:.78rem!important;margin-top:20px!important;padding-top:16px}
.contact-lead { font-size:clamp(1rem,1.35vw,1.25rem); line-height:1.5; margin:28px 0 0; max-width:38ch; }

@media (max-width:700px) {
  .hero { --mobile-photo-top:clamp(92px,18vh,125px); --orb-x-end:1.48; --orb-x-start:1.42; --orb-y-end:1.54; --orb-y-start:1.47; }
  .hero-visual { display:contents; }
  .site-header { align-items:center; display:grid; gap:0; grid-template-columns:minmax(0,1fr) auto; padding:17px 5vw; z-index:40; }
  .brand-lockup { gap:5px; min-width:0; }
  .vyky-lockup img { height:18px; }
  .lockup-divider { height:19px; }
  .remax-lockup { height:21px; }
  .g8-lockup { height:18px; }
  .g8-lockup { height:21px; }
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu-toggle { align-items:center; background:rgba(247,245,238,.08); border:1px solid rgba(247,245,238,.55); border-radius:50%; cursor:pointer; display:flex; flex-direction:column; gap:5px; height:40px; justify-content:center; padding:0; width:40px; }
  .mobile-menu-toggle span { background:var(--paper); display:block; height:1px; transition:transform .25s; width:17px; }
  .mobile-menu-toggle.is-open span:first-child { transform:translateY(3px) rotate(45deg); }
  .mobile-menu-toggle.is-open span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .mobile-navigation { background:var(--paper); box-shadow:0 18px 35px rgba(0,14,53,.2); color:var(--ink); display:grid; gap:0; left:4vw; opacity:0; padding:12px; pointer-events:none; position:fixed; right:4vw; top:68px; transform:translateY(-12px); transition:opacity .25s,transform .25s; z-index:39; }
  .mobile-navigation.is-open { opacity:1; pointer-events:auto; transform:none; }
  .mobile-navigation a,.mobile-navigation button { align-items:center; background:transparent; border:0; border-bottom:1px solid rgba(0,14,53,.14); color:inherit; display:flex; font:600 1rem var(--sans); justify-content:space-between; padding:16px 10px; text-align:left; text-decoration:none; }
  .mobile-navigation button { background:var(--red); border:0; color:#fff; margin-top:10px; }
  .hero { min-height:max(100svh,720px); padding:0 6vw 28px; }
  .orb-one { bottom:auto; height:clamp(150px,48vw,220px); left:auto; right:-15px; top:var(--mobile-photo-top); translate:none; width:clamp(150px,48vw,220px); }
  .hero-photo-slot { border-width:6px; bottom:auto; height:clamp(150px,48vw,220px); left:auto; right:8px; top:var(--mobile-photo-top); translate:none; width:clamp(150px,48vw,220px); }
  .hero-photo-slot > img { object-position:46% 6%; transform:scale(1.22); }
  .hero-copy { gap:14px; left:6vw; margin:0; max-width:none; position:absolute; right:6vw; top:calc(var(--mobile-photo-top) + clamp(150px,48vw,220px) + 14px); transform:none; z-index:3; }
  .hero h1 { font-size:clamp(2rem,8.6vw,2.7rem); letter-spacing:0!important; line-height:1.04; }
  .hero h1 > span,.hero h1 > em { white-space:normal; }
  .hero-intro { font-size:.92rem; }
  .hero-cta { display:block; margin-top:2px; }
  .process-help { font-size:.74rem; margin:12px 0 4px; }
  .case-proof{align-items:flex-start;display:grid;gap:5px;grid-template-columns:1fr auto;margin:8px 0 12px;padding:9px 11px}.case-proof strong,.case-proof span{grid-column:1}.case-proof i{display:none}.case-proof b{grid-column:2;grid-row:1/4;margin:0}.whatsapp-qr{display:none}
  .contact-lead { margin-top:20px; max-width:28ch; }
}

@media (max-width:360px) {
  .hero h1 { font-size:1.92rem; }
  .mobile-navigation { left:3vw; right:3vw; }
}

/* Zmenšené desktopové okno: text vystoupá vedle kruhu a zalomí se dříve. */
@media (min-width:561px) and (max-width:700px) {
  .orb-one,.hero-photo-slot { top:calc(var(--mobile-photo-top) + 50px); }
  .hero-copy {
    right:calc(clamp(150px,48vw,220px) + 5vw);
    top:calc(var(--mobile-photo-top) + 37px);
  }
  .hero h1 { font-size:clamp(1.9rem,6.2vw,2.55rem); line-height:1.03; }
}

/* Na skutečně úzkém telefonu zůstane text celý pod fotografií. */
@media (max-width:560px) {
  .orb-one,.hero-photo-slot { bottom:110px; top:auto; }
  .hero-copy { display:flex; max-width:none; right:6vw; top:105px; }
  .hero-copy::before { content:none; }
  .hero h1 { font-size:clamp(1.65rem,7vw,2.05rem); line-height:1.03; }
  .hero h1 > span,.hero h1 > em { display:inline; }
  .hero h1 > span::after { content:" "; }
  .tablet-break { display:none; }
  .hero-intro { clear:none; max-width:24ch; padding-top:4px; }
  .hero-cta { margin-top:2px; }
}

@media (min-width:701px) and (max-width:1200px) {
  .hero-copy { max-width:58vw; top:45%; }
  .hero h1 { font-size:clamp(2.25rem,4.5vw,3.25rem); line-height:1.06; }
  .tablet-break { display:block; }
}

/* Nízké a úzké desktopové okno: více řádků a bezpečný prostor před portrétem. */
@media (min-width:701px) and (max-width:1400px) and (max-height:760px) {
  .header-cta { display:none; }
  .hero-copy { max-width:52vw; top:50%; }
  .hero h1 { font-size:clamp(2.05rem,min(4vw,7.2vh),2.75rem); line-height:1.04; }
  .hero-cta { display:block; margin-top:2px; }
  .tablet-break { display:block; }
}
