/*
Theme Name: Hanlon Work
Theme URI: https://www.hanlonwork.com
Author: HORSKY Studio
Author URI: https://michalhorsky.cz
Description: Custom WordPress šablona pro Hanlon work s.r.o. Editovatelné texty a fotky přes Přizpůsobit (Customizer).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hanlonwork
*/

:root{
  --pink:#EA1552;
  --orange:#F5791E;
  --amber:#FDB627;
  --ink:#15121B;
  --ink-soft:#3A3542;
  --cream:#FFF8F1;
  --white:#FFFFFF;
  --gray:#726C7A;
  --line: rgba(21,18,27,0.08);
  --grad: linear-gradient(120deg, var(--pink) 0%, var(--orange) 55%, var(--amber) 100%);
  --grad-soft: linear-gradient(120deg, rgba(234,21,82,.10) 0%, rgba(245,121,30,.10) 55%, rgba(253,182,39,.10) 100%);
  --shadow: 0 20px 50px -20px rgba(21,18,27,.25);
  --shadow-sm: 0 8px 24px -12px rgba(21,18,27,.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.12;letter-spacing:-0.01em;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pink);
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--grad);border-radius:2px;}
.grad-text{
  background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:100px;
  font-weight:700;font-size:15px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
  white-space:nowrap;
}
.btn-dark{background:var(--ink);color:var(--white);}
.btn-dark:hover{transform:translateY(-3px);box-shadow:0 14px 30px -10px rgba(21,18,27,.5);}
.btn-grad{background:var(--grad);color:var(--white);box-shadow:var(--shadow-sm);}
.btn-grad:hover{transform:translateY(-3px);box-shadow:0 16px 34px -12px rgba(245,121,30,.55);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--white);}
.btn-sm{padding:10px 18px;font-size:13px;border-radius:100px;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.show{opacity:1;transform:translateY(0);}
.reveal-delay1{transition-delay:.1s;}
.reveal-delay2{transition-delay:.2s;}
.reveal-delay3{transition-delay:.3s;}

header.site-header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:20px 0;transition:background .4s, box-shadow .4s, padding .4s;
}
header.site-header .wrap{display:flex;align-items:center;justify-content:space-between;}
header.site-header.solid{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 2px 24px rgba(21,18,27,.08);padding:12px 0;}
.logo{display:flex;align-items:center;gap:12px;min-width:0;max-height:52px;overflow:hidden;transition:max-height .4s;}
header.site-header.solid .logo{max-height:40px;}
.logo .custom-logo-link{display:flex;align-items:center;}
.logo .custom-logo{
  height:52px !important;width:auto !important;max-width:260px;object-fit:contain;transition:height .4s;
}
header.site-header.solid .logo .custom-logo{height:40px !important;}
@media(max-width:520px){.logo{max-height:38px;}.logo .custom-logo{height:38px !important;max-width:170px;}}
.logo-mark{
  width:42px;height:42px;border-radius:14px;background:var(--grad);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
  box-shadow:0 6px 16px -4px rgba(245,121,30,.5);
}
.logo-mark svg{width:22px;height:22px;}
.logo-text{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:1;}
.logo-text span{display:block;font-family:'Inter',sans-serif;font-weight:600;font-size:9px;letter-spacing:.18em;color:var(--gray);margin-top:3px;}
nav.main-nav{display:flex;align-items:center;gap:6px;}
nav.main-nav a{
  padding:10px 16px;font-weight:600;font-size:14px;color:var(--ink-soft);border-radius:100px;
  transition:background .3s,color .3s;
}
nav.main-nav a:hover{background:var(--cream);color:var(--ink);}
.header-cta{display:flex;align-items:center;gap:10px;margin-left:8px;}
.phone-chip{
  display:none;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--ink);
  padding:9px 14px;border-radius:100px;border:1.5px solid var(--line);
}
@media(min-width:1040px){.phone-chip{display:inline-flex;}}

.hero{position:relative;padding:170px 0 110px;overflow:hidden;background:var(--cream);}
.hero-blob{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-blob .b1,.hero-blob .b2,.hero-blob .b3{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;animation:float 14s ease-in-out infinite;}
.hero-blob .b1{width:480px;height:480px;background:var(--pink);top:-160px;right:-120px;animation-duration:16s;}
.hero-blob .b2{width:360px;height:360px;background:var(--amber);bottom:-140px;left:-100px;animation-duration:19s;animation-delay:-4s;}
.hero-blob .b3{width:280px;height:280px;background:var(--orange);top:40%;left:52%;animation-duration:13s;animation-delay:-8s;}
@keyframes float{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(30px,-30px) scale(1.08);}66%{transform:translate(-24px,20px) scale(.95);}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;}}

.toggle{display:inline-flex;padding:5px;border-radius:100px;background:var(--white);box-shadow:var(--shadow-sm);gap:4px;margin-bottom:28px;}
.toggle button{padding:11px 22px;border-radius:100px;font-weight:700;font-size:14px;background:transparent;color:var(--ink-soft);transition:.35s;position:relative;}
.toggle button.active{background:var(--grad);color:var(--white);box-shadow:0 8px 20px -8px rgba(245,121,30,.6);}

.hero-copy h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;margin-bottom:18px;transition:opacity .22s;}
.hero-copy p.lead{font-size:17px;color:var(--gray);line-height:1.65;max-width:480px;margin-bottom:34px;transition:opacity .22s;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;}
.hero-stats-mini{display:flex;gap:28px;flex-wrap:wrap;}
.hero-stats-mini div b{display:block;font-family:'Sora',sans-serif;font-size:22px;font-weight:800;}
.hero-stats-mini div span{font-size:12.5px;color:var(--gray);font-weight:600;}

.hero-visual{position:relative;}
.hero-photo-wrap{position:relative;border-radius:32px 32px 32px 96px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.5;}
.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.hero-photo-wrap img.active{opacity:1;position:relative;}
.hero-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(21,18,27,.35), transparent 45%);}
.float-card{position:absolute;background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:14px 18px;display:flex;align-items:center;gap:12px;z-index:5;animation:bob 5s ease-in-out infinite;}
.float-card .ic{width:38px;height:38px;border-radius:11px;background:var(--grad);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.float-card .ic svg{width:19px;height:19px;stroke:white;}
.float-card b{display:block;font-size:14px;font-family:'Sora',sans-serif;}
.float-card span{font-size:11.5px;color:var(--gray);}
.fc-1{top:8%;left:-40px;}
.fc-2{bottom:9%;right:-30px;animation-delay:-2.5s;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@media(max-width:640px){.float-card{display:none;}}
.wave{display:block;width:100%;height:70px;margin-top:-2px;}

.features{padding:90px 0 100px;background:var(--white);}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-top:14px;}
.section-head p{color:var(--gray);margin-top:14px;font-size:16px;line-height:1.6;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr;}}
.feat-card{background:var(--cream);border-radius:24px;padding:34px 30px;transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s, background .4s;border:1px solid transparent;}
.feat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);background:var(--white);border-color:var(--line);}
.feat-icon{width:54px;height:54px;border-radius:16px;background:var(--grad);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.feat-icon svg{width:26px;height:26px;stroke:white;}
.feat-card h3{font-size:19px;font-weight:700;margin-bottom:10px;}
.feat-card p{font-size:14.5px;color:var(--gray);line-height:1.65;}

.panel{padding:96px 0;position:relative;}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:900px){.panel-grid{grid-template-columns:1fr;}}
.panel.rev .panel-grid{direction:rtl;}
.panel.rev .panel-grid > *{direction:ltr;}
.panel-photo{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-sm);}
.panel-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.panel-photo:hover img{transform:scale(1.06);}
.panel-badge{position:absolute;bottom:18px;left:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-radius:14px;padding:12px 16px;font-family:'Sora',sans-serif;font-weight:800;font-size:15px;display:flex;align-items:center;gap:10px;}
.panel-badge .dot{width:10px;height:10px;border-radius:50%;background:var(--grad);}
.panel-text h2{font-size:clamp(24px,3.2vw,32px);font-weight:800;margin:12px 0 16px;}
.panel-text p{color:var(--gray);font-size:15.5px;line-height:1.7;margin-bottom:14px;}
.panel-text .btn{margin-top:16px;}
.panel-alt{background:var(--cream);}

.stats{background:var(--ink);color:var(--white);padding:74px 0;position:relative;overflow:hidden;}
.stats::before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;border-radius:50%;background:var(--grad);opacity:.18;filter:blur(80px);}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:2;}
@media(max-width:760px){.stats-grid{grid-template-columns:1fr;gap:36px;text-align:center;}}
.stat-item{display:flex;align-items:center;gap:18px;}
@media(max-width:760px){.stat-item{flex-direction:column;}}
.stat-item .ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.stat-item .ic svg{width:24px;height:24px;stroke:var(--amber);}
.stat-num{font-family:'Sora',sans-serif;font-weight:800;font-size:38px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.stat-label{font-size:13.5px;color:rgba(255,255,255,.65);margin-top:4px;font-weight:500;}

.clients{padding:90px 0 70px;text-align:center;}
.marquee-track-wrap{overflow:hidden;margin-top:46px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;gap:70px;width:max-content;animation:scroll 26s linear infinite;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.client-logo{font-family:'Sora',sans-serif;font-weight:800;font-size:23px;color:var(--ink-soft);opacity:.45;transition:opacity .3s,color .3s;white-space:nowrap;}
.client-logo:hover{opacity:1;color:var(--pink);}

.kap{padding:10px 0 90px;}
.kap-card{background:var(--grad-soft);border:1px solid var(--line);border-radius:26px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.kap-left{display:flex;align-items:center;gap:20px;}
.kap-badge{width:64px;height:64px;border-radius:18px;background:var(--ink);display:flex;align-items:center;justify-content:center;color:white;font-family:'Sora',sans-serif;font-weight:800;font-size:15px;flex-shrink:0;}
.kap-left h3{font-size:17px;font-weight:700;margin-bottom:4px;}
.kap-left p{font-size:14px;color:var(--gray);}
.kap-left p a{color:var(--pink);font-weight:600;}

.contact{padding:20px 0 110px;}
.contact-card{background:var(--ink);border-radius:32px;padding:60px;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;position:relative;overflow:hidden;}
@media(max-width:900px){.contact-card{grid-template-columns:1fr;padding:40px 26px;}}
.contact-card::before{content:"";position:absolute;bottom:-30%;left:-10%;width:420px;height:420px;border-radius:50%;background:var(--grad);opacity:.22;filter:blur(90px);}
.contact-info{position:relative;z-index:2;color:white;}
.contact-info h2{font-size:clamp(24px,3vw,32px);font-weight:800;margin-bottom:16px;}
.contact-info p.lead{color:rgba(255,255,255,.65);font-size:15px;line-height:1.7;margin-bottom:34px;}
.contact-person{display:flex;gap:14px;margin-bottom:22px;}
.contact-person .av{width:44px;height:44px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:14px;flex-shrink:0;}
.contact-person b{font-size:14.5px;display:block;}
.contact-person span{font-size:12.5px;color:rgba(255,255,255,.55);}
.contact-person a{font-size:13.5px;color:var(--amber);font-weight:600;display:block;margin-top:2px;}
.offices{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap;}
.offices div b{display:block;font-size:13px;margin-bottom:4px;}
.offices div span{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.5;}

.form-card{position:relative;z-index:2;background:white;border-radius:22px;padding:34px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}
.field{position:relative;}
.field input,.field textarea{width:100%;padding:15px 16px;border-radius:12px;border:1.5px solid var(--line);font-family:'Inter',sans-serif;font-size:14.5px;background:var(--cream);transition:border .3s,background .3s;}
.field textarea{resize:vertical;min-height:110px;margin-bottom:18px;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--orange);background:white;}
.form-card .btn{width:100%;justify-content:center;}
.form-note{font-size:12px;color:var(--gray);margin-top:14px;text-align:center;}
.success-msg{display:none;text-align:center;padding:30px 10px;}
.success-msg .tick{width:56px;height:56px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.success-msg .tick svg{width:26px;height:26px;stroke:white;}
.success-msg h4{font-family:'Sora',sans-serif;font-weight:700;margin-bottom:6px;}
.success-msg p{color:var(--gray);font-size:14px;}

footer.site-footer{background:var(--ink);color:rgba(255,255,255,.7);padding:0 0 30px;position:relative;}
.footer-top{height:5px;background:var(--grad);}
.footer-grid{padding:64px 0 40px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer-logo-img{height:44px;width:auto;max-width:220px;object-fit:contain;}
.footer-logo .custom-logo{height:44px;width:auto;max-width:220px;object-fit:contain;}
.footer-grid p.small{font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.45);}
.footer-grid h5{color:white;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;}
.footer-grid a.flink{display:block;font-size:14px;color:rgba(255,255,255,.65);margin-bottom:11px;transition:color .3s;}
.footer-grid a.flink:hover{color:var(--amber);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:rgba(255,255,255,.4);}
.footer-bottom a{color:rgba(255,255,255,.6);}

.help-fab{position:fixed;bottom:26px;right:26px;z-index:300;}
.help-toggle{width:60px;height:60px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -8px rgba(245,121,30,.6);animation:pulse 2.6s ease-in-out infinite;}
.help-toggle svg{width:26px;height:26px;stroke:white;}
@keyframes pulse{0%,100%{box-shadow:0 14px 30px -8px rgba(245,121,30,.6);}50%{box-shadow:0 14px 30px -8px rgba(245,121,30,.95),0 0 0 8px rgba(245,121,30,.12);}}
.help-panel{position:absolute;bottom:76px;right:0;width:260px;background:white;border-radius:18px;box-shadow:var(--shadow);padding:20px;opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transition:.3s cubic-bezier(.2,.8,.2,1);}
.help-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.help-panel h4{font-size:14.5px;font-weight:700;margin-bottom:4px;}
.help-panel p{font-size:12.5px;color:var(--gray);margin-bottom:14px;}
.help-panel a{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;padding:10px 0;border-top:1px solid var(--line);}
.help-panel a:first-of-type{border-top:none;}

.admin-bar header.site-header{top:32px;}
@media(max-width:782px){.admin-bar header.site-header{top:46px;}}
