*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#101010;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:112px;display:flex;align-items:center;border-bottom:1px solid #eee;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);z-index:20}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:116px;height:116px;border-radius:50%;object-fit:cover}.brand span{display:flex;flex-direction:column;font-size:14px;letter-spacing:.04em}.brand small{font-size:10px;letter-spacing:.18em;margin-top:2px}.nav nav{display:flex;gap:28px;font-size:13px;font-weight:600}.nav nav a:hover{color:#df0000}.btn{display:inline-flex;align-items:center;justify-content:center;background:#e00000;color:white;padding:16px 22px;font-weight:700;font-size:13px;border-radius:3px}.btn-small{padding:12px 18px}.hero{min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#fff 58%,#f7f7f7 58%)}.hero-shape{position:absolute;width:500px;height:900px;background:#e00000;right:-300px;top:-100px;transform:rotate(15deg)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;position:relative}.eyebrow,.section-no{font-size:11px;font-weight:800;letter-spacing:.18em;color:#666}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:30px;height:3px;background:#e00000}.hero h1{font-size:clamp(48px,5.3vw,78px);line-height:.98;letter-spacing:-.055em;margin:26px 0}.hero h1 em,h2 em{font-style:normal;color:#e00000}.hero-copy>p{max-width:620px;color:#555;line-height:1.8;font-size:16px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.text-link{font-size:13px;font-weight:700}.trust-row{display:flex;gap:38px;margin-top:55px;padding-top:28px;border-top:1px solid #ddd}.trust-row div{display:flex;align-items:center;gap:10px}.trust-row strong{font-size:24px}.trust-row span{font-size:10px;line-height:1.5;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.08em}.hero-visual{position:relative}.visual-card{height:500px;background:#111;position:relative;overflow:hidden;box-shadow:0 35px 70px rgba(0,0,0,.18)}.kick-figure{font-size:180px;position:absolute;left:90px;top:115px;z-index:2;filter:grayscale(1)}.red-ring{position:absolute;width:390px;height:390px;border:55px solid #e00000;border-radius:50%;right:-120px;top:-80px}.yellow-dot{position:absolute;width:80px;height:80px;background:#ffd000;border-radius:50%;left:45px;top:55px}.badge{position:absolute;left:25px;right:25px;bottom:25px;background:#fff;padding:20px;z-index:3;display:flex;flex-direction:column;gap:6px}.badge b{font-size:12px;letter-spacing:.1em}.badge span{font-size:11px;color:#666}.section{padding:105px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section h2{font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-.045em;margin:22px 0}.lead{font-size:16px;color:#555;line-height:1.9;padding-top:25px}.features{background:#f5f5f3}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head h2{max-width:700px}.section-head p{max-width:390px;color:#666;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.cards article{background:#fff;padding:34px 28px;min-height:260px;border-right:1px solid #eee}.cards article:first-child{border-top:4px solid #e00000}.cards article>span{font-size:11px;color:#aaa;font-weight:800}.cards h3{font-size:19px;margin-top:45px}.cards p{font-size:13px;color:#666;line-height:1.7}.success{background:#111;color:white}.success-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.light{color:#aaa}.success h2{font-size:64px}.success p{color:#aaa;line-height:1.8;max-width:450px}.btn-light{background:white;color:#111;margin-top:20px}.medal-wall{display:grid;grid-template-columns:repeat(3,1fr);align-items:end}.stat{height:260px;border:1px solid #333;display:flex;flex-direction:column;align-items:center;justify-content:center}.stat.featured{height:340px;background:#e00000;border:0}.stat strong{font-size:48px}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:10px;color:#bbb}.featured span{color:white}.coach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}.photo{height:340px;background:#eee;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.coach h3{margin-bottom:4px}.coach p{font-size:12px;color:#777}.branches{background:#f5f5f3}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.branch-grid article{background:white;padding:45px;border-left:4px solid #111}.branch-grid article:first-child{border-left-color:#e00000}.branch-grid span{font-size:11px;color:#aaa}.branch-grid h3{font-size:30px;margin-bottom:8px}.branch-grid p{color:#777}.branch-grid a{display:inline-block;margin-top:35px;font-size:13px;font-weight:800}.cta{padding:80px 0}.cta-box{background:#e00000;color:white;padding:65px;display:flex;justify-content:space-between;align-items:flex-start;gap:50px}.cta-box>div:first-child{max-width:700px}.cta-box span{font-size:10px;font-weight:800;letter-spacing:.16em}.cta-box h2{margin-bottom:0}.cta-box h2 em{color:white;text-decoration:underline;text-decoration-color:#ffd000;text-underline-offset:8px}.cta-actions{display:grid;gap:24px;width:100%;max-width:760px}.contact-form{display:grid;gap:18px}.contact-form input,.contact-form textarea{width:100%;padding:18px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.15);color:white;font-size:15px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.8)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form .btn{width:100%;text-align:center}.btn-dark{background:#111}.phone{text-align:center;font-size:13px;font-weight:700}footer{background:#0b0b0b;color:#aaa;padding:45px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px}.footer-brand{color:white}.footer-brand img{width:48px;height:48px}@media(max-width:900px){.nav nav{display:none}.hero{padding:70px 0;background:white}.hero-grid,.split,.success-grid{grid-template-columns:1fr}.hero-visual{display:none}.trust-row{flex-wrap:wrap}.cards{grid-template-columns:1fr 1fr}.section-head{display:block}.success h2{font-size:52px}.coach-grid{grid-template-columns:1fr}.branch-grid{grid-template-columns:1fr}.cta-box{display:block;padding:40px}.cta-actions{margin-top:35px}.footer-grid{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.site-header{height:76px}.brand img{width:46px;height:46px}.brand span{display:none}.btn-small{font-size:11px}.hero{min-height:auto}.hero h1{font-size:45px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{gap:20px}.section{padding:75px 0}.cards{grid-template-columns:1fr}.medal-wall{grid-template-columns:1fr}.stat,.stat.featured{height:180px}.cta-box{padding:30px 24px}.footer-grid{align-items:center;text-align:center}}

/* Hero visual revision: logo + taekwondo child character */
.visual-card{
  height:520px;
  background:linear-gradient(145deg,#101010 0%,#181818 58%,#0c0c0c 100%);
  position:relative;
  overflow:hidden;
  box-shadow:0 35px 70px rgba(0,0,0,.18)
}
.logo-disc{
  position:absolute;
  width:140px;
  height:140px;
  top:36px;
  left:34px;
  z-index:6;
  background:#ffd000;
  border-radius:50%;
  padding:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.28)
}
.logo-disc img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:block
}
.hero-left-image{
  margin-top:40px;
  max-width:360px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 35px 70px rgba(0,0,0,.16);
}
.hero-left-image img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.hero-visual{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.logo-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
}
.logo-disc{
  position:relative;
  width:460px;
  height:460px;
  background:#ffd000;
  border-radius:50%;
  padding:18px;
  box-shadow:0 28px 60px rgba(0,0,0,.28);
  animation:logo-beat 1.1s infinite ease-in-out;
}
.logo-disc img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:block;
}
@keyframes logo-beat{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
.yellow-dot{display:none}
.red-ring{
  display:none;
}
.tkd-child{
  position:absolute;
  width:250px;
  height:390px;
  left:50%;
  top:47%;
  transform:translate(-44%,-45%);
  z-index:4;
}
.child-head{
  position:absolute;
  width:86px;
  height:96px;
  left:82px;
  top:10px;
  background:#f0b487;
  border-radius:48% 48% 46% 46%;
  border:5px solid #111;
  z-index:5
}
.child-head:before,.child-head:after{
  content:"";
  position:absolute;
  top:47px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#111
}
.child-head:before{left:21px}
.child-head:after{right:21px}
.hair{
  position:absolute;
  display:block;
  background:#111;
  height:28px;
  top:-8px;
  border-radius:50% 50% 15% 15%;
  transform:rotate(-12deg)
}
.hair-1{width:52px;left:-2px}
.hair-2{width:48px;left:24px;transform:rotate(8deg)}
.hair-3{width:30px;right:-2px;transform:rotate(20deg)}
.child-neck{
  position:absolute;
  width:32px;
  height:25px;
  background:#f0b487;
  left:109px;
  top:94px;
  border-left:4px solid #111;
  border-right:4px solid #111;
  z-index:3
}
.dobok-body{
  position:absolute;
  width:150px;
  height:175px;
  left:50px;
  top:112px;
  background:#fff;
  border:5px solid #111;
  clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);
  z-index:3
}
.dobok-left,.dobok-right{
  position:absolute;
  height:7px;
  width:92px;
  background:#111;
  top:55px
}
.dobok-left{left:-10px;transform:rotate(35deg)}
.dobok-right{right:-10px;transform:rotate(-35deg)}
.belt{
  position:absolute;
  left:8px;
  right:8px;
  height:18px;
  background:#111;
  top:130px
}
.belt-knot{
  position:absolute;
  width:28px;
  height:24px;
  background:#111;
  left:57px;
  top:126px;
  transform:rotate(45deg)
}
.belt-tail{
  position:absolute;
  width:14px;
  height:70px;
  background:#111;
  top:141px;
  left:68px;
  transform-origin:top
}
.tail-1{transform:rotate(14deg)}
.tail-2{transform:rotate(-18deg)}
.arm{
  position:absolute;
  width:56px;
  height:155px;
  background:#fff;
  border:5px solid #111;
  top:125px;
  z-index:2;
  border-radius:22px
}
.arm-left{left:22px;transform:rotate(35deg)}
.arm-right{right:14px;transform:rotate(-50deg);top:118px}
.leg{
  position:absolute;
  width:66px;
  height:155px;
  background:#fff;
  border:5px solid #111;
  top:270px;
  z-index:2;
  border-radius:18px
}
.leg-left{left:55px;transform:rotate(8deg)}
.leg-right{
  right:36px;
  top:250px;
  height:190px;
  transform:rotate(-55deg);
  transform-origin:top
}
@media(max-width:900px){
  .hero-visual{display:block;margin-top:10px}
}
@media(max-width:560px){
  .logo-disc{width:360px;height:360px}
}


/* Final hero updates */
.logo-disc{
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
}
.logo-disc img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}
.tkd-child,
.child-head,
.child-neck,
.dobok-body,
.dobok-left,
.dobok-right,
.belt,
.belt-knot,
.belt-tail,
.arm,
.leg{
  display:none !important;
}
.tkd-anime{
  position:absolute;
  z-index:5;
  height:440px;
  width:auto;
  right:10px;
  bottom:0;
  object-fit:contain;
}
@media(max-width:900px){
  .tkd-anime{
    height:400px;
    right:50%;
    transform:translateX(50%);
  }
}
@media(max-width:560px){
  .tkd-anime{
    height:350px;
  }
}

/* Federation logos under hero */
.hero-copy .registration-note{margin-top:18px;color:#e00000;font-size:14px;font-weight:700}
.federation-logos{display:flex;align-items:center;gap:18px;margin-top:12px}
.federation-logos img{height:128px;width:auto;display:block}
@media(max-width:900px){
  .federation-logos img{height:96px}
  .registration-note{font-size:13px}
}


/* Achievements list styles */
.achievements{
  display:flex;
  align-items:center;
  justify-content:center;
}
.achieve-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.achieve-list li{
  background:transparent;
  border:1px solid rgba(255,255,255,0.06);
  padding:18px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  border-radius:8px;
}
.achieve-list li strong{
  font-size:28px;
  color:#ffd000;
  display:inline-block;
  min-width:72px;
}
.achieve-list li span{
  color:#ddd;
  font-weight:700;
}
@media(max-width:900px){
  .achieve-list{grid-template-columns:repeat(1,1fr)}
}

/* Mobile adjustments: hero/grid/logo sizing and spacing */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero{min-height:auto;padding:40px 0}
  .hero-visual{display:none}
  .hero h1{font-size:44px}
  .hero-copy>p{max-width:100%}
  .trust-row{flex-wrap:wrap;gap:16px}
  .federation-logos{justify-content:center}
  .achievements{padding:0 12px}
}

@media (max-width:560px){
  .logo-disc{width:220px;height:220px}
  .hero h1{font-size:34px}
  .achieve-list li{padding:12px}
  .federation-logos img{height:72px}
  .container{width:calc(100% - 28px)}
}

.audio-toggle{
  border:none;
  padding:12px 18px;
  border-radius:999px;
  background:#e00000;
  color:#fff;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
  transition:transform .16s ease,background .16s ease,color .16s ease;
}

.audio-toggle:hover{
  transform:translateY(-2px);
}

.audio-toggle.playing{
  background:#101010;
  color:#ffd000;
}

/* Align all written content to the left */
body, body *{text-align:left}
