/* Jediný stylový soubor webu. Další pravidla přidávej sem. Viz ../DESIGN.md */
:root { --navy:#233b7b; --navy-deep:#152a5b; --blue:#9ab0e8; --mist:#edf1fb; --paper:#fcfcfa; --ink:#252525; --muted:#616165; --line:#d5dbe9; --heart:#9a4d50; --font-serif:Georgia,"Times New Roman",serif; --font-sans:Inter,Arial,sans-serif; --content:min(1120px,calc(100% - 48px)); --reading:700px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-6:72px; --space-7:112px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font-serif); font-size:18px; line-height:1.55; } a { color:inherit; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); border-bottom:1px solid #e8e8e6; animation:header-arrival .7s ease-out both; }.header-inner { width:var(--content); min-height:92px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }.brand { position:relative; color:var(--ink); text-decoration:none; font-size:clamp(23px,2.4vw,34px); line-height:1; letter-spacing:-.04em; white-space:nowrap; }.brand::after { content:""; display:block; width:78px; height:1px; margin:9px 0 0 39px; background:var(--blue); transform-origin:left; animation:line-draw .9s .38s ease-out both; }.brand-mark { color:var(--navy); font-size:1.75em; vertical-align:-.1em; margin-right:4px; }.brand-subtitle { display:block; margin:7px 0 0 39px; color:var(--navy); font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }.site-nav { display:flex; align-items:center; gap:24px; font-size:14px; font-weight:700; color:var(--navy); }.site-nav a { text-decoration:none; }.site-nav a:hover,.text-link:hover { text-decoration:underline; text-underline-offset:5px; }.menu-toggle { display:none; color:var(--navy); background:transparent; border:1px solid var(--navy); padding:8px 12px; font:inherit; }
.hero { position:relative; min-height:540px; display:grid; align-items:end; color:white; background:linear-gradient(122deg,#142b60 0%,#1c397b 56%,#315494 100%); overflow:hidden; }.hero-inner { position:relative; z-index:1; width:var(--content); margin:0 auto; padding:76px 0 54px; }.hero-inner::before { content:"§"; position:absolute; top:50%; right:1%; color:rgba(255,255,255,.11); font-size:min(32vw,400px); line-height:.9; transform:translateY(-50%); animation:mark-emerge 12s ease-out both; }.hero h1 { animation:copy-arrival .8s .2s ease-out both; }.hero-copy { animation:copy-arrival .85s .48s ease-out both; }.hero-inner::after { content:""; display:block; width:96px; height:1px; margin-top:var(--space-4); background:var(--blue); transform-origin:left; animation:line-draw .9s .82s ease-out both; }
.eyebrow { margin:0 0 var(--space-2); font-family:var(--font-sans); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.eyebrow--navy { color:var(--navy); }h1,h2,h3 { margin:0; font-weight:400; line-height:1.08; }h1 { max-width:820px; font-size:clamp(20px,5.35vw,70px); letter-spacing:-.045em; white-space:nowrap; }.hero-copy { max-width:760px; margin:var(--space-3) 0 16px; font-size:clamp(17px,1.55vw,22px); line-height:1.42; }.hero-emphasis { margin:0 0 var(--space-4); color:#dce5ff; font-size:20px; font-weight:700; }.hero-note { margin:14px 0 0; color:rgba(255,255,255,.78); font-size:15px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:13px 23px; border:1px solid currentColor; text-decoration:none; font-size:17px; font-weight:700; transition:background .2s,color .2s,transform .2s; }.button:hover { transform:translateY(-2px); }.button--light { color:white; }.button--light:hover { background:white; color:var(--navy); }.button--dark { color:var(--navy); }.button--dark:hover { background:var(--navy-deep); color:white; }.button--solid { color:white; background:var(--navy); border-color:var(--navy); }.button--solid:hover { background:var(--navy-deep); color:white; }
.section { padding:var(--space-7) 0; }.section--tint { background:var(--mist); }.section--navy { background:var(--navy); color:white; }.section--quiet { background:#f7f7f3; }.container { width:var(--content); margin:0 auto; }.section-intro { max-width:var(--reading); }.section-intro h2,.narrative h2,.craft h2,.contact-copy h2 { color:var(--navy); font-size:clamp(35px,4vw,55px); letter-spacing:-.04em; }.section--navy h2 { color:white; }.section-intro p { margin:var(--space-3) 0 0; }.narrative { max-width:calc(var(--reading) + 48px); }.narrative-copy { max-width:var(--reading); margin-top:var(--space-4); }.narrative-copy p { margin:0 0 var(--space-3); }.narrative blockquote { margin:var(--space-5) 0 var(--space-3); padding:0 0 0 var(--space-3); border-left:2px solid var(--navy); color:var(--navy); font-size:clamp(26px,3vw,38px); line-height:1.2; }.closing-line { max-width:var(--reading); margin:0; font-weight:700; }
.services-heading { max-width:var(--reading); margin-top:var(--space-7); animation:copy-arrival .75s .3s ease-out both; }.section-kicker,.section-intro h2.section-kicker { margin:0; color:var(--navy); font-family:var(--font-sans); font-size:22px; font-weight:700; letter-spacing:.055em; line-height:1.2; text-transform:uppercase; }.services { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:var(--space-4); border:1px solid var(--line); background:var(--line); }.service { min-height:290px; padding:31px 35px; background:var(--paper); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }.service:hover { position:relative; z-index:1; background:#f8faff; box-shadow:0 9px 24px rgba(21,42,91,.13); transform:translateY(-4px); }.service>span { color:var(--navy); font-family:var(--font-sans); font-size:12px; font-weight:700; letter-spacing:.14em; }.service h3 { margin-top:10px; color:var(--navy); font-size:28px; letter-spacing:-.03em; }.service p { margin:12px 0 0; color:var(--muted); font-size:16px; line-height:1.43; }.service p+p { margin-top:8px; }.service--featured { grid-column:1 / -1; min-height:0; padding:42px 35px; background:var(--mist); border-top:3px solid var(--navy); }.service--featured h3 { font-size:clamp(32px,3.4vw,45px); }.service--featured p { max-width:780px; font-size:17px; }.service--featured blockquote { max-width:740px; margin:28px 0 0; padding-left:22px; border-left:2px solid var(--navy); color:var(--navy); font-size:24px; line-height:1.28; }
.craft-copy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--space-6); max-width:930px; margin-top:var(--space-5); }.craft-copy p { margin:0 0 var(--space-3); }.strategy-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; max-width:930px; margin:var(--space-5) 0 0; padding:0; background:rgba(255,255,255,.28); list-style:none; }.strategy-list li { padding:21px; background:var(--navy-deep); font-size:20px; line-height:1.2; }.craft-closing { max-width:700px; margin:var(--space-5) 0 0; color:#dce5ff; font-size:24px; line-height:1.3; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); margin-top:var(--space-5); }.step { border-top:1px solid rgba(255,255,255,.55); padding-top:var(--space-3); }.steps--dark .step { border-color:var(--line); }.step-number { display:block; color:var(--blue); font-family:var(--font-sans); font-size:14px; font-weight:700; letter-spacing:.12em; }.steps--dark .step-number { color:var(--navy); }.step h3 { margin-top:12px; font-size:30px; }.steps--dark .step h3 { color:var(--navy); }.step p { margin:14px 0 0; max-width:330px; }.steps--dark .step p { color:var(--muted); }.process-steps--four { grid-template-columns:repeat(4,1fr); gap:var(--space-3); }.process-steps--four .step h3 { font-size:27px; }.process-steps--four .step p { font-size:16px; }.process-steps--four .step-note { color:var(--navy); font-size:17px; line-height:1.35; }
.consultation { display:grid; grid-template-columns:1.15fr .85fr; gap:var(--space-6); align-items:start; }.consultation h2 { color:var(--navy); font-size:clamp(38px,4.5vw,58px); letter-spacing:-.04em; }.consultation p { max-width:var(--reading); margin:var(--space-3) 0 0; }.consultation-lead { color:var(--navy); font-size:23px; line-height:1.3; }.price { margin:0; padding:32px; border-left:2px solid var(--blue); color:var(--navy); }.price span,.price small { display:block; font-family:var(--font-sans); }.price span { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.price strong { display:block; margin:10px 0 4px; font-size:clamp(30px,3vw,40px); line-height:1.1; }.price small { color:var(--muted); font-size:14px; }.price p { margin:var(--space-3) 0; color:var(--ink); font-size:17px; line-height:1.45; }
.consultation-flow { max-width:var(--content); }.consultation-flow>h2 { color:var(--navy); font-size:clamp(38px,4.5vw,58px); letter-spacing:-.04em; }.process-steps { margin-top:var(--space-5); }.consultation-summary { max-width:var(--reading); margin-top:var(--space-6); }.consultation-summary h2 { color:var(--navy); font-size:clamp(34px,4vw,52px); letter-spacing:-.04em; }.consultation-summary p { margin:var(--space-3) 0 0; }.consultation-summary .button { margin-top:var(--space-4); }.next-step { max-width:var(--reading); margin-top:var(--space-6); padding-top:var(--space-4); border-top:1px solid var(--line); }.next-step h2 { color:var(--navy); font-size:34px; }.next-step p { margin:var(--space-3) 0 0; }
.contact-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:var(--space-7); }.contact-copy p { max-width:var(--reading); margin:var(--space-3) 0 0; }.contact-copy .button { margin-top:var(--space-4); }.contact-process .section-intro p:last-child { font-size:22px; line-height:1.4; }.process-steps .step-focus { margin-top:18px; color:var(--navy); font-size:27px; letter-spacing:-.03em; }.process-steps .step p { font-size:17px; }.contact-panel { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); margin-top:var(--space-6); padding:42px; background:var(--mist); }.contact-buttons { display:flex; flex-wrap:wrap; gap:14px; }.contact-actions .contact-details { margin-top:var(--space-4); }.contact-price { align-self:start; padding-top:0; }.contact-price h2 { color:var(--navy); font-size:27px; }.contact-price p { margin:12px 0 0; font-size:17px; line-height:1.45; }.contact-panel .contact-details { padding:0; background:transparent; }.contact-details div { padding:17px 0; border-bottom:1px solid var(--line); }.contact-details div:last-child { border:0; }.contact-details span { display:block; color:var(--navy); font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.contact-details a,.contact-details p { display:block; margin:7px 0 0; font-size:20px; line-height:1.35; }.contact-details a { color:var(--navy); }.focus-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-3); margin-top:var(--space-5); }.focus-cards article { padding:31px; border:1px solid var(--line); background:var(--paper); }.focus-cards h3 { color:var(--navy); font-size:28px; }.focus-cards p { margin:14px 0 0; color:var(--muted); }.heart { color:var(--heart); font-family:Arial,sans-serif; font-size:.85em; }
.site-footer { padding:72px 0 32px; color:white; background:var(--navy-deep); }.footer-grid { width:var(--content); margin:0 auto; display:grid; grid-template-columns:1.35fr 1.05fr 1fr 1fr; gap:var(--space-4); }.footer-grid--three { grid-template-columns:1.45fr 1.05fr 1fr; }.footer-grid h2 { font-size:21px; }.footer-grid p,.footer-grid address { margin:12px 0 0; font-style:normal; font-size:16px; line-height:1.5; }.footer-identity p { margin:0; line-height:1.55; }.footer-identity strong { font-size:22px; font-weight:400; }.footer-identity span { font-size:20px; }.footer-identity small { font-size:15px; }.footer-grid a { text-decoration:none; }.footer-grid a:hover { text-decoration:underline; text-underline-offset:4px; }.footer-links { display:grid; gap:8px; }.footer-consumer { display:inline-block; margin-top:20px; font-family:inherit; font-size:16px; }.copyright { width:var(--content); margin:60px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.7); font-family:var(--font-sans); font-size:12px; }.legal { padding:var(--space-7) 0; }.legal .container { max-width:calc(var(--reading) + 48px); }.legal h1 { color:var(--navy); font-size:clamp(42px,5vw,66px); white-space:normal; }.legal h2 { margin-top:50px; color:var(--navy); font-size:31px; white-space:normal; }.legal p,.legal li { max-width:var(--reading); }.legal ul { padding-left:22px; }.legal .updated { color:var(--muted); font-size:16px; }.more-price { display:inline-block; margin-top:18px; color:var(--navy); font-family:var(--font-sans); font-size:14px; font-weight:700; letter-spacing:.035em; text-decoration:none; }.more-price:hover { text-decoration:underline; text-underline-offset:4px; }.pricing-method { max-width:var(--reading); margin-top:54px; padding-top:26px; border-top:1px solid var(--line); }.pricing-method h2 { margin-top:0; }.pricing-method p { margin:18px 0 0; }.pricing-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; margin-right:10px; color:#ae8c28; font-family:var(--font-sans); font-size:23px; line-height:1; vertical-align:3px; }.pricing-icon--hourglass { font-size:25px; }.pricing-icon--paragraph { font-family:var(--font-serif); font-size:33px; }.pricing-icon--share { vertical-align:5px; }.pricing-icon--share svg { width:34px; height:34px; fill:none; stroke:#ae8c28; stroke-width:2; }
@keyframes header-arrival { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } } @keyframes mark-emerge { from { color:rgba(255,255,255,0); opacity:0; } to { color:rgba(255,255,255,.14); opacity:1; } } @keyframes copy-arrival { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } } @keyframes line-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
@media (max-width:850px) { .header-inner { min-height:80px; }.hero { min-height:620px; }.hero-inner { padding:86px 0 66px; }.services,.steps,.consultation,.footer-grid,.contact-layout,.contact-panel,.focus-cards { grid-template-columns:1fr; }.craft-copy { grid-template-columns:1fr; gap:0; }.strategy-list { grid-template-columns:repeat(2,1fr); }.steps { gap:38px; }.footer-grid { gap:32px; }.contact-layout { gap:var(--space-5); }.contact-panel { gap:var(--space-4); }.contact-details { max-width:620px; }.price { border-left:0; border-top:2px solid var(--blue); }.service { min-height:0; } }
@media (max-width:560px) { :root { --content:min(100% - 32px,1120px); --space-7:76px; } body { font-size:17px; }.brand { font-size:21px; }.brand-subtitle { margin-left:32px; font-size:9px; }.hero { min-height:0; }.hero-inner { padding:62px 0 48px; }.hero-inner::before { top:50%; right:1%; font-size:58vw; }.hero-copy { font-size:17px; }.hero-emphasis { font-size:18px; }.service { padding:28px 24px; }.service h3 { font-size:25px; }.service--featured blockquote { font-size:22px; }.process-steps .step-focus { font-size:25px; }.strategy-list { grid-template-columns:1fr; }.price { padding:25px; }.focus-cards article { padding:26px; } }
