:root{--red:#dc143c;--black:#101011;--muted:#63636d;--line:#e5e5e8;--paper:#f7f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--black);font-family:Arial,Helvetica,sans-serif}.site-header{display:flex;position:sticky;top:0;z-index:20;min-height:84px;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(18px,5vw,72px);background:#fff;border-bottom:1px solid var(--line)}.brand img{display:block;max-height:56px;max-width:230px}.brand{color:var(--black);font-size:1.25rem;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:20px}.site-header nav a,.site-footer a{color:var(--black);font-weight:700;text-decoration:none}.site-header nav a:hover,.card a{color:var(--red)}.hero,.course-hero{min-height:560px;padding:clamp(64px,10vw,140px) clamp(20px,8vw,144px);display:grid;align-items:center;color:#fff;background-color:#151516;background-position:center;background-size:cover}.hero>div{max-width:780px}.hero h1,.course-hero h1{max-width:800px;margin:.3rem 0 1.2rem;font-size:clamp(2.75rem,7vw,6rem);line-height:.98}.hero p,.course-hero p{max-width:700px;color:#e5e5e7;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}.eyebrow{margin:0 0 .65rem;color:var(--red);font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:8px;background:var(--red);color:#fff;font-weight:800;text-decoration:none}.button:hover{background:#af0e2f}.button.secondary{background:transparent;border:1px solid currentColor;color:inherit}.section{padding:clamp(56px,8vw,112px) clamp(20px,8vw,144px)}.section h1,.section h2{margin:.25rem 0 1rem;font-size:clamp(2rem,4vw,4rem);line-height:1.05}.section>p{max-width:720px;font-size:1.08rem;line-height:1.65;color:var(--muted)}.intro{max-width:1100px;margin:0 auto}.muted{background:var(--paper)}.dark{background:var(--black);color:#fff}.dark p{color:#d1d1d6}.dark .button.secondary{color:#fff}.card-grid,.teacher-grid,.quote-grid,.video-grid,.gallery-grid{display:grid;gap:20px;margin-top:36px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.teacher-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.quote-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.video-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.card,.teacher-card,.video-card,blockquote{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.05)}.dark .video-card{background:#222225;border-color:#3d3d41}.card img{width:100%;height:170px;object-fit:cover}.card h3,.card p,.card a{margin-left:18px;margin-right:18px}.card h3{margin-top:18px}.card p{min-height:48px;color:var(--muted);line-height:1.5}.card a{display:inline-block;margin-bottom:20px;font-weight:800;text-decoration:none}.teacher-card{display:grid;grid-template-columns:130px 1fr}.teacher-card img{width:100%;height:100%;min-height:180px;object-fit:cover}.teacher-card div{padding:20px}.teacher-card h3{margin:0 0 8px}.teacher-card strong{color:var(--red);font-size:.9rem}.teacher-card p{color:var(--muted);line-height:1.5}blockquote{padding:24px;font-size:1.05rem;line-height:1.55}blockquote footer{margin-top:16px;color:var(--muted);font-size:.9rem}.cta{background:var(--red);color:#fff}.cta .button{background:#fff;color:var(--red)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.curriculum{display:grid;gap:14px;margin:0;padding:0;list-style:none}.curriculum li{padding:16px;border-radius:10px;background:var(--paper);font-weight:700}.curriculum li::before{content:counter(list-item);display:inline-grid;place-items:center;width:26px;height:26px;margin-right:12px;border-radius:50%;background:var(--red);color:#fff;font-size:.75rem}.gallery-grid img{width:100%;aspect-ratio:4/3;border-radius:12px;object-fit:cover}.empty-state{padding:28px;border:1px dashed #b8b8bd;border-radius:12px;background:#fff}.video-card{padding:18px}.video-card h3{margin-top:0}.video-card video{width:100%;border-radius:8px;background:#000}.map{min-height:320px;width:100%;border:0;border-radius:14px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:36px clamp(20px,8vw,144px);background:var(--black);color:#fff}.site-footer p,.site-footer a{color:#d1d1d6}@media(max-width:760px){.site-header{position:relative;align-items:flex-start;flex-direction:column}.site-header nav{gap:12px;font-size:.9rem}.hero,.course-hero{min-height:490px;padding:72px 24px}.two-columns{grid-template-columns:1fr}.teacher-card{grid-template-columns:1fr}.teacher-card img{height:210px}.site-footer{flex-direction:column}}
.auth{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--black)}.auth form{width:min(100%,440px);padding:34px;border-radius:16px;background:#fff}.auth label,.admin-form label{display:grid;gap:7px;margin-bottom:14px;font-weight:700}.auth input,.admin-form input,.admin-form textarea{width:100%;padding:11px;border:1px solid #cfcfd4;border-radius:8px;background:#fff;font:inherit}.auth h1{margin:.3rem 0 24px}.error,.flash.error{padding:12px;border-radius:8px;background:#fee2e2;color:#991b1b}.success,.flash.success{padding:12px;border-radius:8px;background:#dcfce7;color:#166534}.admin-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px clamp(20px,5vw,80px);background:var(--black);color:#fff}.admin-header h1{margin:0;font-size:clamp(1.6rem,3vw,2.5rem)}.admin-header a{color:#fff}.admin-shell{max-width:1180px;margin:0 auto;padding:28px 20px 80px}.admin-section{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-section h2{margin-top:0}.admin-section details{margin:12px 0;padding:14px;border-radius:10px;background:var(--paper)}.admin-section summary{cursor:pointer;font-weight:800}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:18px}.admin-form fieldset{grid-column:1/-1;margin:8px 0 16px;border:1px solid var(--line);border-radius:8px;padding:14px}.admin-form .check{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-right:16px}.admin-form .check input{width:auto}.admin-form button{grid-column:1/-1;width:max-content}.delete-form{margin-top:12px}.delete-form button{border:0;background:transparent;color:#b91c1c;font-weight:800;cursor:pointer}@media(max-width:760px){.admin-header{align-items:flex-start;flex-direction:column}.admin-form{grid-template-columns:1fr}.admin-form button{width:100%}}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.media-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.media-card h3{margin-top:0}.media-preview{height:180px;margin:-18px -18px 16px;border-radius:12px 12px 0 0;background:#18181b}.media-preview img{width:100%;height:100%;object-fit:cover}.stack{display:grid;gap:12px;margin-top:18px}.stack label{display:grid;gap:6px;font-weight:700}.stack input,.stack textarea{width:100%;padding:10px;border:1px solid #cfcfd4;border-radius:8px;font:inherit}.hidden{display:none!important}dialog{width:min(94vw,620px);border:0;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(0,0,0,.72)}.crop-dialog{display:grid;gap:14px}.crop-dialog h2{margin:0}.crop-dialog canvas{width:100%;height:auto;border-radius:10px;background:#111}.crop-dialog label{display:grid;gap:6px;font-weight:700}.crop-dialog input[type=range]{accent-color:var(--red)}figure{margin:0}figcaption{margin-top:7px;font-size:.9rem;color:var(--muted)}
.service-thumb{width:100%;height:160px;margin:8px 0 14px;border-radius:8px;object-fit:cover}.sort-form figcaption label{display:grid;gap:4px;margin:10px 0;font-weight:700}.sort-form input[type=number]{width:76px;padding:7px;border:1px solid var(--line);border-radius:6px}.sort-form figcaption button{border:0;background:transparent;color:#b91c1c;font-weight:800;cursor:pointer}.sort-form>.button{margin-top:20px}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:70;display:grid;width:58px;height:58px;place-items:center;border-radius:999px;background:var(--red);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.25);transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1)}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 18px 34px rgba(0,0,0,.3)}.whatsapp-float:active{transform:scale(.97)}.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px rgba(220,20,60,.45)}.whatsapp-float svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.whatsapp-float{right:16px;bottom:16px;width:54px;height:54px}}@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}
